Python Selen Xpath найти получить второй элемент - PullRequest
0 голосов
/ 31 мая 2019

Задача построения пути ко второму элементу.Как построить путь?

Я пытаюсь найти второй элемент с 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

Элемент загружен правильно для первого элемента.Что я делаю не так, что не могу получить второй предмет.Путь должен извлекать текущий текст из второго элемента статьи

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 голосов
/ 31 мая 2019

Я согласен с Джоном Гордоном и Кингом Стоуном.Трудно сказать без подробностей, но вы можете попробовать:

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

Использование элементов вместо элемента вернет список элементов.Затем вы можете использовать:

getOpis[1]

, чтобы получить второй элемент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...