應該是不全面的,暫時整理這些,後續補充吧。
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通過邏輯表示式定位
and
or
not
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...