經常使用定位方法有:css
id html
nameweb
class name 瀏覽器
tag name 測試
link text ui
partial link textspa
xpath code
css selctororm
對應的方法: htm
find_element_by_id("kw")
find_element_by_name("name")
find_element_by_class_name("name")
find_element_by_tag_name("input")
find_element_by_link_text("貼吧")
find_element_by_partial_link_text("貼")
find_element_by_xpath("/html1/body/div[2]/form/span/input")#絕對路勁
find_element_by_xpath("//input[@id='input']")#經過自身的ID定位屬性
find_element_by_xpath("//sapn[@id='input-container']/input")#經過上一級ID定
find_element_by_xpath("//div[@id='hd']/from/sapn/input")#經過上三級ID定位
find_element_by_xpath("//div[@id='hd'] or @name='q']")
find_element_by_css_selector(div#eleid)#id爲eleid
操做測試對象
clear()#清除輸入框內容 send_keys("xx")#向輸入框輸入內容 send_keus(u"中文內容") #輸入中文加u click()#單擊內容 submit()#提交表單
WebElement接口經常使用方法
返回元素尺寸 szie = driver.find_element_by_id("kw").size #返回百度輸入框的尺寸 print size #輸出結果: {'width': 500, 'height': 22} text = driver.find_element_by_id("cp").text#返回百度底部備案信息 print text #輸出結果: ©2018 Baidu 使用百度前必讀 意見反饋 京ICP證030173號 京公網安備11000002000001號arr
result= driver.find_element_by_id("kw").is_displayed #回元素的結果是否可見,
#返回True or false print result #輸出結果: True
鼠標事件
ActionChains#類鼠標操做經常使用方法 context_click()#右擊 double_click()#雙擊 drag_and_drop#()拖動 move_to_element()#鼠標懸停在一個元素上 click_and_hold()#按下鼠標左鍵,在一個元素上 引入ActionChains類 from selenium.webdriver.common.action_chains.import ActionChains 鼠標右擊操做 right = dirver.find_element_by_xpath("xx")#定位到須要右擊的元素 ActionChains(driver).context_click(right).perform()#對元素進行右擊操做 #ActionChains用於生成用戶行爲,將全部行爲保存到ActionChains對象,經過perform去執行 #perform 是ActionChains類提供的方法,須要與ActionChains配合使用 鼠標雙擊操做 double = driver.find_element_by_xpath("xx")#定位到須要雙擊的元素 ActionChains(driver).double_click(double).perform() #雙擊操做 鼠標拖放操做 element = driver.find_element_by_name("xx")#定位鼠標原位置 target = drivere.find_element_by_name("xx")#定位鼠標要移動的目標位置 ActionChains(driver).drag_and_drop(elemtn,trager).perform()#執行移動的操做 鼠標移動到元素上 above = driver.find_element_by_xpath("xx")#定位鼠標移動到上面的元素 ActionChains(driver).move_to_element(above).perfrom#移動鼠標到定位的元素上 按下鼠標左鍵 left = driver.find_element_by_xpaht("xx")#定位到左鍵按下的元素 ActionChains(dirver).click_and_hold(left).perfrom
鍵盤事件
from selenium import webdriver from selenium.webdriver.common.keys import keys #引包keys包 import time driver = webdriver.Ie() driver.get("http://www.baidu.com") driver.find_element_by_id("kw").send_keys("selenium")#向輸入框輸入"selenium" time.sleep(3)#等待3秒爲了更能看清變化 driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)#去掉框同的mm driver.find_element_by_id("kw").send_keys(Keys.SPACE)#向輸入框輸入空格 driver.find_element_by_id("kw").send_keys(u"教程")#向輸入框輸入"教程" driver.find_element_by_id_("kw").send_keys(Keys.CONTROL,"a")#全選輸入框的內容 time.sleep(3) driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"C")#複製全選內容 driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"X")#剪貼全選內容 driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"V")#粘貼內容 driver.find_element_by_id("su").send_keys(Keys.ENTER)#經過鍵盤迴車代替點擊操做 time.sleep(3) driver.quit()#關閉瀏覽器
send_keys(Keys.BACK_SPACE)#刪除鍵
send_keys(Keys.SPACE)#空格鍵
send_keys(Keys.TAB)#製表鍵
send_keys(Keys.ESCAPE)#回退鍵
send_keys(Keys.ENTER)#回車鍵
send_keys(Keys.CONTROL,"a")#全選
send_keys(Keys.CONTROL,"C")#複製
send_keys(keys.CONTROL,"V")#粘貼
send_keys(Keys.CONTROL,"X")#剪切
注:(keys類所提供的全部按鈕請查閱 webdriver API)