Tesold
@Tesold
Начинающий инженер

PYTHON SELENIUM Как активировать некликабельный элемент?

<a href="#" id="workButton0" style="margin-left: 7px;">НАЖАТЬ</a>
<a href="#" id="workButton1" style="margin-left: 7px; display: none;">НАЖАТЬ</a>
<a href="#" id="workButton2" style="margin-left: 7px;">ЗАКРЫТЬ</a>


Есть такие элементы. Кнопки меняются местами раз в какое-то время.

Например:

workButton0 это НАЖАТЬ
workButton1 это НАЖАТЬ скрытое
workButton2 это ЗАКРЫТЬ

спустя минуту

workButton0 это НАЖАТЬ скрытое
workButton1 это ЗАКРЫТЬ
workButton2 это НАЖАТЬ

и т.д..

Т.к. по id мне нет смысла искать, то как найти элемент по тексту? И как на него нажать, ибо мне ругалось, что не удаётся из-за отсутствия ссылки.

По XPath элемент находится в браузере, но не в WebDriver. При print получаю либо [], либо пустоту.

XPath находится только при ctrl+F в просмотре кода, но XPath Helper не видит (NULL), плюс не выделяет элемент никак

РЕШЕНИЕ НАЙДЕНО!

Кнопка была во фрейме, надо было перейти во фрейм. Дальше из листа лишь выбираем видимый элемент)
  • Вопрос задан
  • 296 просмотров
Решения вопроса 1
coderisimo
@coderisimo
Хотите ответ? Формулируйте вопрос КОРРЕКТНО ! :)
можно искать по тексту , используя xpath

buttons = driver.find_elements_by_xpath("//*[contains(text(), 'TEXT')]")
for btn in buttons:
    btn.click()


если нужно получить только видимые элементы -
is_displayed()
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
lxsmkv
@lxsmkv
Test automation engineer
find_element_by_link_text
см. документацию
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы