selenium模糊匹配控件


起因:在查找一些控件時,可能控件的一些屬性是變化的,那在匹配時需要進行模糊匹配,模糊匹配,使用xpath

定位方式有種:

contains(屬性名,字符串):使用文本匹配,功能很強大

starts-with(屬性名,字符串):根據開頭進行模糊匹配

ends-with(屬性名,字符串):根據結尾內容進行匹配

matchs(屬性名,字符串):根據正則進行匹配

案例:

如圖,點擊底部的一個收藏,彈出OK按鈕,需要點擊這個Ok,就能正常執行下一步

 

<span type="1">OK</span>

 原本是通過css,進行定位,發現每打開商品,商品的頁面開始都會有變化,試試模糊匹配

從瀏覽器復制出來的css地址為:

#layermbox0 > div.layermmain > div > div > div.layermbtn > span
重新打開頁面,變化為
#layermbox1 > div.layermmain > div > div > div.layermbtn > span

前提已初始化了driver,並且已經可以啟動

模糊匹配

使用starts-with
driver.findElement(By.xpath("//span[starts-with(@type,'1')]")).click();
//span:外部標簽

starts-with(類型或者內容,值)

使用contains

driver.findElement(By.xpath("//*[contains(text(),'ok')]")).click();
看其他人對text還有另外一種寫法
driver.findElement(By.xpath("//*[text()='ok')]")).click();

目前沒有使用正則,和ends-with匹配,有遇到案例在補充

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM