Python Selenium 中的 xpath 定位

2023-04-17 00:00:00 python selenium 定位

XPath 是 XML 文档的路径语言,也应用于 HTML 和 Selenium 定位元素。在 Selenium 中,使用 XPath 语法可以通过定位标签、属性等来精确定位元素。

具体定位方法如下:

  1. 标签

使用标签名可以定位到该标签的第一个元素。

driver.find_element_by_xpath("//标签名")

例如,在 pidancode.com 网站中,可以使用以下代码定位到第一个 p 标签:

driver.find_element_by_xpath("//p")
  1. 属性

通过元素的属性可以更准确地定位元素。例如,通过 class 属性定位:

driver.find_element_by_xpath("//标签名[@class='class名']")

例如,在 pidancode.com 网站中,可以使用以下代码定位到第一个 class 为 "site-title" 的 h1 标签:

driver.find_element_by_xpath("//h1[@class='site-title']")
  1. 关系定位

可以通过元素的位置关系来定位元素,例如通过父元素定位子元素:

driver.find_element_by_xpath("//父标签名/子标签名")

例如,在 pidancode.com 网站中,可以使用以下代码定位到第一个 id 为 "masthead" 的 div 的子元素 h1:

driver.find_element_by_xpath("//div[@id='masthead']/h1")
  1. 逻辑运算

可以通过逻辑运算符 and、or 和 not 来组合定位条件:

driver.find_element_by_xpath("//标签名[@属性1='属性值1' and @属性2='属性值2']")

例如,在 pidancode.com 网站中,可以使用以下代码定位到第一个 class 为 "site-title" 且 id 为 "logo" 的 a 标签:

driver.find_element_by_xpath("//a[@class='site-title' and @id='logo']")

综上所述,XPath 可以十分灵活地定位元素,可以根据具体情况选择最合适的方法。

相关文章