Selenium使用Xpath定位

2021-09-23 06:04:30 字數 1361 閱讀 8216

應該是不全面的,暫時整理這些,後續補充吧。

1.絕對路徑(/)

格式:driver.find_element_by_xpath("絕對路徑")

例子:driver.find_element_by_xpath("/html/body/div[x]/form/input")x 代表第x個 div標籤(索引從1開始)

當頁面元素位置發生改變時,都需要修改,因此,不推薦使用

2.相對路徑(//)

格式:driver.find_element_by_xpath("//input[x]")x是索引

例子:driver.find_element_by_xpath("//input[2]")

2.1通過元素的唯一屬性定位

例子:driver.find_element_by_xpath("//input[@id='myinput']")# @後跟屬性,可以是任何屬性 id/name/title 等

2.2通過父元素的唯一屬性定位

例:driver.find_element_by_xpath("//span[@id='input-container']/input")#目標元素是input,但是它的父元素span具有唯一屬性,則可以採用這種方式

2.3通過邏輯表示式定位

andornot

driver.find_element_by_xpath("//span[@id='input1' and @title='嘻嘻']")
2.4模糊定位

2.4.1contains方法(包含)

driver.find_element_by_xpath("//a[contains(@name,'trnews')]")

2.4.2start-with方法(以xx開頭)

2.4.3text方法

driver.find_element_by_xpath("//a[contains(text(),'新聞')]")查詢超連結元素的文字內容

driver.find_element_by_xpath("//*[text()='新聞']")查詢所有內容為新聞二字的元素

參考: 感謝博主

selenium使用Xpath定位之完整篇

其中有一片文章提到了xpath元素定位,但是該文章中有些並不能適應一些特殊與個性化的場景。在文字中提供xpath元素的定位終極篇,你一定能在這裡找到你需要的解決辦法。by.xpath html body div form input by.xpath input 第三種方法 通過元素索引定位 by....

selenium使用Xpath定位之完整篇

之前寫過一篇文章提到了xpath元素定位,只寫了一些函式,但是不夠具體。於是想再寫一篇關於xpath元素的定位終極篇,相信你一定能在這裡找到你需要的解決辦法。第一種方法 通過絕對路徑方式定位 相信大家不會使用這種方式 by.xpath html body div form input 第二種方法 通...

Selenium 詳解xpath定位

xpath定位在業界被戲稱為元素定位的 屠龍寶刀 寶刀在手,武林我有。現在我們就來詳解xpath定位方法。xpath可以通過元素的屬性來定位,如id,name,class,type等屬性,元素的任意屬性值都可以通過xpath來定位,只要這個屬性值能唯一的標識乙個元素 coding utf 8 fro...