python selenium xpath find获取第二个元素

时间:2019-05-31 16:13:31

标签: python selenium xpath

构造第二个元素的路径的问题。 如何构建路径?

我正在尝试使用xPath查找第二个元素。

getOpis = driver.find_element_by_xpath("(//article[2]/div/div/descendant-or-self::*)").text

此方法无效。

以下内容也不起作用。

getOpis = driver.find_element_by_xpath("//article[2]/div/div/descendant-or-self::*)[2]").text

对于第一个元素,使用:

getOpis = driver.find_element_by_xpath("//article/div/div/descendant-or-self::*)").text

已正确下载第一个元素的元素。 我做错了我无法获得第二项。 该路径必须从第二个article元素中检索当前文本

File "C:\Users\media\PycharmProjects\test\venv\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"(//article[2]/div/div/descendant-or-self::*)"}
  (Session info: chrome=74.0.3729.169)

1 个答案:

答案 0 :(得分:0)

我同意John Gordon和King Stone。没有更多细节很难说,但是您可以尝试:

getOpis = driver.find_elements_by_xpath("//article/div/div/descendant-or-self::*").text

使用元素而不是element将返回元素列表。然后,您可以使用:

getOpis[1]

获取第二个元素。