UI自動(dòng)化定位常用實(shí)現(xiàn)方法代碼示例
8大基礎(chǔ)定位
- driver.find_element_by_id() # id定位
- driver.find_element_by_name() # name定位
- driver.find_element_by_class_name() # class名稱(chēng)定位
- driver.find_element_by_tag_name() # 標(biāo)簽定位
- driver.find_element_by_xpath() # xpath定位
- driver.find_element_by_css_selector() # css定位
- driver.find_element_by_link_text() # a標(biāo)簽的文本定位
- driver.find_element_by_partial_link_text() # a標(biāo)簽的局部文本定位
xpath定位
//*[]:// 相對(duì)定位 * 匹配任意標(biāo)簽
第一種:id\class\name\其他屬性,精確匹配
driver.find_element_by_xpath("http://*[@id='']") # id與id的值
driver.find_element_by_xpath("http://*[@class='']") # class和class的值<br data-filtered="filtered">driver.find_element_by_xpath("http://*[@name='']") # naem和值<br data-filtered="filtered">driver.find_element_by_xpath("http://*[@shuxingming='']") # 屬性名和值
第二種:模糊匹配\層級(jí)\索引\邏輯運(yùn)算
模糊匹配:
driver.find_element_by_xpath("http://*[contains(text(),'測(cè)試')]") # 包含某些字符
driver.find_element_by_xpath("http://*[starts-with(text(),'測(cè)試')]") # 以某些字符開(kāi)頭
driver.find_element_by_xpath("http://*[ends-with(text(),'測(cè)試')]") # 以某些字符結(jié)尾
driver.find_element_by_xpath("http://*[matchs(text(),'測(cè)試')]") # 正則匹配
層級(jí):
driver.find_element_by_xpath("http://*[@id='']/p")
索引:
driver.find_element_by_xpath("http://*[@id='']/option[0]")
第三種:絕對(duì)定位
html/body/heard/div/divdiv/ul/li[2]/a 不推薦
css定位
第一種:id\class\標(biāo)簽名
#:id
.:class
driver.find_element_by_css_selector("#username") #id為username
driver.find_element_by_css_selector(".username") #class為username
driver.find_element_by_css_selector("iframe") #標(biāo)簽名為iframe
第二種:
索引:
driver.find_element_by_css_selector("selet#nr>option:nth-child(1)") #標(biāo)簽名:nth-child(1)來(lái)定位子元素
層級(jí):
driver.find_element_by_css_selector("selet#nr>option") #標(biāo)簽名:nth-child(1)來(lái)定位子元素
邏輯運(yùn)算:
driver.find_element_by_css_selector("input#nr[id=''][class='']") #不用and連接,寫(xiě)在一起即可
定位多組元素
使用 find_elements ,結(jié)果為列表,使用下標(biāo)索引方式取值
names=driver.find_elements_by_name("username")
print names[1]
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python鍵鼠操作自動(dòng)化庫(kù)PyAutoGUI簡(jiǎn)介(小結(jié))
- Python GUI自動(dòng)化實(shí)現(xiàn)繞過(guò)驗(yàn)證碼登錄
- python自動(dòng)化UI工具發(fā)送QQ消息的實(shí)例
- Python使用pyautogui模塊實(shí)現(xiàn)自動(dòng)化鼠標(biāo)和鍵盤(pán)操作示例
- Python PyAutoGUI模塊控制鼠標(biāo)和鍵盤(pán)實(shí)現(xiàn)自動(dòng)化任務(wù)詳解
- 關(guān)于Selenium的UI自動(dòng)化測(cè)試屏幕截圖功能實(shí)例代碼
- SpringBoot優(yōu)化啟動(dòng)速度的方法實(shí)現(xiàn)
- Android App開(kāi)發(fā)的自動(dòng)化測(cè)試框架UI Automator使用教程
- Android 自動(dòng)化測(cè)試經(jīng)驗(yàn)分享 UiObejct.getFromParent()的使用方法
相關(guān)文章
Python的集合類(lèi)型之set和frozenset詳解
這篇文章主要為大家詳細(xì)介紹了Python的集合類(lèi)型之set和frozenset,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-03-03操作Windows注冊(cè)表的簡(jiǎn)單的Python程序制作教程
這篇文章主要介紹了操作Windows注冊(cè)表的簡(jiǎn)單的Python程序制作教程,包括遠(yuǎn)程對(duì)注冊(cè)表進(jìn)行修改的實(shí)現(xiàn),需要的朋友可以參考下2015-04-04Tensorflow 自帶可視化Tensorboard使用方法(附項(xiàng)目代碼)
這篇文章主要介紹了Tensorflow 自帶可視化Tensorboard使用方法(附項(xiàng)目代碼),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02Python3.5文件讀與寫(xiě)操作經(jīng)典實(shí)例詳解
這篇文章主要介紹了Python3.5文件讀與寫(xiě)操作,結(jié)合實(shí)例形式詳細(xì)分析了Python針對(duì)文件的讀寫(xiě)操作常用技巧與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-05-05Python程序員面試題 你必須提前準(zhǔn)備!(答案及解析)
這篇文章主要為大家解析了你必須提前準(zhǔn)備的Python程序員面試題答案,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01python基礎(chǔ)教程項(xiàng)目五之虛擬茶話(huà)會(huì)
這篇文章主要為大家詳細(xì)介紹了python基礎(chǔ)教程項(xiàng)目五之虛擬茶話(huà)會(huì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04python通過(guò)exifread模塊獲得圖片exif信息的方法
這篇文章主要介紹了python通過(guò)exifread模塊獲得圖片exif信息的方法,實(shí)例分析了Python操作exifread模塊的技巧,需要的朋友可以參考下2015-03-03python使用Apriori算法進(jìn)行關(guān)聯(lián)性解析
這篇文章主要為大家分享了python使用Apriori算法進(jìn)行關(guān)聯(lián)性的解析,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-12-12