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), плюс не выделяет элемент никак

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

Кнопка была во фрейме, надо было перейти во фрейм. Дальше из листа лишь выбираем видимый элемент)
  • Вопрос задан
  • 765 просмотров
Решения вопроса 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
Ваш ответ на вопрос

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

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