Python 的 Selenium 中 XPath 是什麼?
XPath 是 Selenium 中用於唯一標識網頁上元素的定位器之一。它遍歷 DOM 以到達具有特定屬性(帶或不帶標籤名)的所需元素。
XPath 可以透過以下方式表示:
//tagname[@attribute='value']
//*[@attribute='value']
XPath 可以透過以下方法建立:
OR & AND 表示式。
following-sibling 表示式。
父節點。
子節點。
祖先節點。
自身節點。
後代節點。
starts-with()
ends-with()
text()
前序節點。
XPath 有兩種型別:絕對路徑和相對路徑。
相對路徑 XPath:此路徑從 DOM html 的任何部分開始。它由雙斜槓 // 表示,有助於從網頁的任何部分識別元素,並且 XPath 表示式不會很長。
始終最好使用相對路徑 XPath,因為我們不需要從根開始定位元素。因此,如果任何屬性或其值被修改,則受影響導致 XPath 不正確的機率較小。
語法:
driver. find_element_by_xpath("//input[@class='gsc-input']")
絕對路徑 XPath:此路徑從根 html 到所需元素。它由單個斜槓 / 表示。它比相對路徑 XPath 更長,如果從根元素開始的任何屬性或其值發生更改,則最終將無法唯一地識別頁面上的所需物件。
語法:
driver. find_element_by_xpath("/html/body/div/input")
XPath 可以執行雙向流程,這意味著遍歷可以從父到子以及反之亦然。
從父到子
語法:
driver.find_element_by_xpath("//table/tbody/tr[2]/td[2]")
從子到父
語法:
driver. find_element_by_xpath("//input[@id='job']/parent::div")
在速度方面,XPath 比 CSS 慢。
廣告