Нажмите на изображение sr c, используя Python Selenium, у которого нет идентификатора элемента - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть стрелки на веб-странице, которые будут расширяться и переходить к следующему, и так далее. Вручную, если я нажму на эту стрелку, она развернется и покажет разбивку.

enter image description here

Я пытаюсь автоматизировать то же самое с помощью модуля Python Selenium, пытаясь нажать на стрелку перед «Каталог пользователя». Когда я вижу код в опции разработчика (F12), он показывает мне имя класса, название изображения и sr c. Я пытался получить список текста, используя имена классов: -

enter image description here

a=[]
a=driver.find_elements_by_class_name("bi-tree-view-expand-icon")
print(a)

Но каждый раз, когда сессия и элементы, которые я получаю, отличаются. Вывод ниже:

> [<selenium.webdriver.remote.webelement.WebElement
> (session="98f30ad2-4ff3-42fa-985e-206c0a778ee8",
> element="270e9246-ee5c-44da-8348-94047ca5d633")>,
> <selenium.webdriver.remote.webelement.WebElement
> (session="98f30ad2-4ff3-42fa-985e-206c0a778ee8",
> element="b53fd15f-6c2d-4d8c-9f37-c79803d5b2fc")>,
> <selenium.webdriver.remote.webelement.WebElement
> (session="98f30ad2-4ff3-42fa-985e-206c0a778ee8",
> element="74f4980e-3cd4-466d-972c-85a3d79de59d")>]

Пожалуйста, помогите?

1 Ответ

0 голосов
/ 17 февраля 2020

Вы почти там, скорее печатаете a, щелкните по нему.

a[1].click()

Однако мы можем упростить xpath, провайдера, которого вы можете использовать html родительского элемента user directories ( включая детей).

Поскольку вы возвращаете все элементы, соответствующие имени класса bi-tree-view-expand-icon, появляется несколько значков раскрытия, а при печати a выводится список элементов. так что вы видите все ссылки на значки расширений. Если вы хотите получить доступ к конкретному значку раскрытия, вы можете использовать индекс или написать более точный xpath.

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