元素操做、定位方法,鼠標,鍵盤事件

經常使用定位方法有: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)
相關文章
相關標籤/搜索