UI自动化之元素定位(xpath、css)
生活随笔
收集整理的這篇文章主要介紹了
UI自动化之元素定位(xpath、css)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
很早之前就已經(jīng)寫過(guò)自動(dòng)化了,不過(guò)點(diǎn)著功能久了就會(huì)容易忘記元素定位,尤其是xpath和css定位,所以就花點(diǎn)時(shí)間做下總結(jié)收集。
xpath有兩種定位:
一.絕對(duì)路徑(不推薦使用,除非已經(jīng)使用了所有方式仍然無(wú)法定位)
方法:根據(jù)實(shí)際目錄,逐層輸寫。
例子: find_element_by_xpath("/html/body/div[1]/span/input/a") ?# div[1]指第1個(gè)元素
二.相對(duì)路徑(推薦使用)
方法:找到元素有”精準(zhǔn)元素“即唯一能標(biāo)識(shí)的屬性;
# 1、通過(guò)id定位(以百度首頁(yè)為例) driver.find_element_by_xpath("//*[@id='kw']").send_keys("test") time.sleep(1)# 2、通過(guò)class定位 driver.find_element_by_xpath("//*[@class='s_ipt']").send_keys("test")# 3、通過(guò)name定位 driver.find_element_by_xpath("//input[@name='wd']").send_keys("test")# 4、通過(guò)其它屬性定位 driver.find_element_by_xpath("//*[@autocomplete='off']").send_keys("test")# 5、多個(gè)屬性組合定位(邏輯運(yùn)算符and、or等) driver.find_element_by_xpath("//*[@autocomplete='off' and @class='s_ipt']").send_keys("test")# 6、通過(guò)文本屬性定位 driver.find_element_by_xpath("//*[text()='新聞']")# 7、通過(guò)父元素定位子元素(層級(jí)關(guān)系) driver.find_element_by_xpath("//*[@id='u1']/a[2]") # 通過(guò)上一級(jí)的id對(duì)下一級(jí)a標(biāo)簽進(jìn)行定位(索引從1開(kāi)始)# 8、通過(guò)子元素找父元素 driver.find_element_by_xpath("//*[@id='kw']/..") # //*[@id='kw']/../.. 這個(gè)是找爺爺# 9、模糊匹配 driver.find_element_by_xpath("//a[contains(text(),'hao')]") # 文本模糊匹配 driver.find_element_by_xpath("//input[contains(@class,'s_btn')]") # class屬性模糊匹配,其它類似?
CSS語(yǔ)法定位
?
# 1、通過(guò)id定位 driver.find_element_by_css_selector("#kw").send_keys("test")# 2、通過(guò)class定位(多個(gè)class屬性有空格的話,將空格換成.) driver.find_element_by_css_selector(".s_ipt").send_keys("test")# 3、通過(guò)tag定位 driver.find_element_by_css_selector("input") # 定位所有input標(biāo)簽# 4、通過(guò)其它屬性定位 driver.find_element_by_css_selector("[name='wd']").send_keys("test")# 5、通過(guò)父元素找子元素(組合定位) driver.find_element_by_css_selector("#qrcode .qrcode-img") # 通過(guò)id為qrcode上一級(jí)或上上級(jí)找尋下級(jí)class為qrcode-img的元素 driver.find_element_by_css_selector("qrcode .qrcode-img:nth-child(1)") # 找剛剛上面結(jié)果的第一組元素,索引從1開(kāi)始 driver.find_element_by_css_selector("#qrcode div.qrcode-img:nth-child(1)") # 組合定位,div標(biāo)簽下class為qrcode-img的元素css更多操作請(qǐng)看下方
?
轉(zhuǎn)載于:https://www.cnblogs.com/leixiaobai/p/10438596.html
總結(jié)
以上是生活随笔為你收集整理的UI自动化之元素定位(xpath、css)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 京东白条激活步骤有哪些?手机和电脑端激活
- 下一篇: (13)UniquePathIII