python中的Selenium中的xpath是什么?

Xpath是Selenium中用来唯一标识网页上元素的定位器之一。它遍历DOM以到达具有特定属性(带有/不带有标记名)的所需元素。

xpath可以用下面列出的方式表示-

  • // tagname [@ attribute ='value']

  • // * [@@ attribute ='value']

可以通过以下方法创建xpath-

  • OR&AND表达式。

  • 兄弟姐妹的表达。

  • 父母

  • 儿童。

  • 祖先。

  • 自。

  • 后裔。

  • 以。。开始()

  • 以。。结束()

  • 文本()

  • 前。

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慢。

猜你喜欢