识别页面上的第一个元素

huangapple go评论72阅读模式
英文:

Identifying the first element on the page

问题

我使用Python与Selenium,并使用以下内容来识别我的页面上的2个网页元素:

driver.find_element(By.XPATH("//a[contains(@href, '/checkout')]"))

我正在尝试使用以下方法选择/识别第一个:

"//a[contains(@href, '/checkout')][0]"

由于某种原因它不起作用。请帮忙。谢谢。

英文:

I use python with selenium and I am using the following to identify the 2 web elements on my page:

driver.find_element(By.XPATH("//a[contains(@href, '/checkout')]"))

I am trying to select/identify the first one using:

"//a[contains(@href, '/checkout')][0]"

For some reason it does not work. Please help. Thanks

答案1

得分: 1

  • 要识别第一个匹配的元素,您可以使用find_elements方法,然后访问返回的列表的第一个元素。

elements = driver.find_elements(By.XPATH, "//a[contains(@href, '/checkout')]")
first_element = elements[0]

  • 或者,您可以使用find_element方法与find_elements定位策略来在一行中实现相同的结果:

first_element = driver.find_element(By.XPATH, "(//a[contains(@href, '/checkout')])[1]")

英文:
  • To identify the first matching element, you can use the find_elements method instead, and then access the first element of the returned list.

> elements = driver.find_elements(By.XPATH, "//a[contains(@href,
> '/checkout')]")
>first_element = elements[0]

  • Alternatively, you can use the find_element method with the find_elements locator strategy to achieve the same result in a single line:

> first_element = driver.find_element(By.XPATH, "(//a[contains(@href,
> '/checkout')])[1]")

答案2

得分: 0

更改为:

这将定位从DOM树的顶部找到的匹配节点的第一个出现。
(//a[contains(@href, '/checkout')])[1]
代码应如下所示:
driver.find_element(By.XPATH("(//a[contains(@href, '/checkout')])[1]"))
英文:

Change this:

//a[contains(@href, '/checkout')][0]

To: This will locate the first occurrence of the matching node which it finds from the top of the DOM tree.

(//a[contains(@href, '/checkout')])[1]

Code should look like:

driver.find_element(By.XPATH("(//a[contains(@href, '/checkout')])[1]"))

huangapple
  • 本文由 发表于 2023年6月29日 17:12:55
  • 转载请务必保留本文链接:https://go.coder-hub.com/76579679.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定