Попытка нажать кнопку в 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_xpath("//*[text()='Open Message Modal']").click()
Удачного кодирования:)