Как выбрать элемент с селеном в питоне - PullRequest
0 голосов
/ 18 июня 2019

Я пытался манипулировать некоторым сайтом с селеном К сожалению, я столкнулся с проблемой, чтобы пойти дальше.

После открытия сайта мне нужно выбрать один элемент и выполнить событие клика. Я пробовал с find_element_by: name, tag_name, class_name, но каждый раз, когда я получал массаж «Нет такого элемента». Проверка этого элемента дает такой вывод:

<div 
style="position: absolute; left: 90px; top: 3px; width: 48px; height: 18px; text-align: center; cursor: pointer; font-family: tahoma; font-size: 11px; font-weight: normal; border-top: 1px solid rgb(85, 85, 85); border-left: 1px solid rgb(85, 85, 85); border-right: 1px solid rgb(85, 85, 85); padding-top: 5px; background-color: rgb(117, 148, 159); border-radius: 4px 4px 0px 0px; color: rgb(255, 255, 255);"
>Działki</div>

Как выбрать этот элемент с селеном (питоном)

UPDATE:

Я думал, что xpat - это решение, и частично это правда

Теперь я попробовал это:

browser.find_elements_by_xpath("/html/body/div[3]/div[8]/div[2]/div[1]/div[4]").click()

... но теперь у меня есть это:

AttributeError: у объекта 'list' нет атрибута 'click'

Что не так?

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

Если вы знаете текст в div и он уникален, вы можете найти его с помощью text().

Это будет выглядеть примерно так:

browser.find_elements_by_xpath("//div[text()='Działki']")

Надеюсь, это поможет вам!

0 голосов
/ 18 июня 2019

Если вы знаете, что будет содержать div, но у вас нет класса или имени, вы можете попытаться идентифицировать его по его внутреннему содержимому. Для вашего примера это будет "Działki"

Этот ответ объясняет, как это сделать: Как мне найти элемент, который содержит определенный текст в Selenium Webdriver (Python)?

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