Попытка нажать кнопку в Python с помощью Selenium WebDriver (Firefox)

Я пытаюсь нажать кнопку на HTML-странице с помощью веб-драйвера Python и Selen.

Это исходный код страницы http://pastebin.com/112g1Gje.

Я считаю, что соответствующая часть буквально в конце, если я не ошибаюсь... Я пытаюсь нажать кнопку с надписью "Сообщение"

Обычно это просто, я просто сделал бы что-то вроде:

driver.find_element_by_id("message-modal").click()

Однако это не работает.

Я пытался:

driver.find_element_by_id("message_label").click()
driver.execute_script('document.getElementByName(" Message ").click();')
driver.execute_script('document.getElementById("message-senderId").click();')
driver.execute_script('document.getElementById("message-    label").addEventListener("submit", function())')

...так далее.

Все они не работают. Для звезд, кстати, у меня была такая же проблема. Было трудно щелкнуть по нему, но я понял эту часть. Это сработало:

driver.execute_script('document.getElementById("star_41094_4").checked = true;')

Я думаю, что эта страница переключает номера для звезды. Так что этот номер может не работать прямо сейчас. Но это отдельная проблема.

Кто-нибудь знает, что я делаю не так?

РЕДАКТИРОВАТЬ: Я попросил модератора удалить эту тему. У меня было несколько вещей не так здесь. Я создаю новый.

3 ответа

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

<button class="btn" id="btn-message-modal" data-toggle="modal" data-target="#message-modal"> Open Message Modal</btn>\

Тогда попробуйте это:

driver.find_element_by_id ("БТН-сообщение покадрово"). нажмите ()

PS

message-modal - это идентификатор модального контейнера, поэтому с этим кодом ничего не происходит

driver.find_element_by_id("message-modal").click()

driver.find_element_by_classname("btn").click() работает

Пытаться

driver.find_element_by_xpath("//*[text()='Open Message Modal']").click()

Удачного кодирования:)

Другие вопросы по тегам