2016-06-03 5 views
0

Я пытаюсь нажать кнопку на странице html с помощью веб-драйвера Python и селена.Попытка щелкнуть кнопку в Python с помощью Selenium WebDriver (Firefox)

Это исходный код страницы 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;') 

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

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

EDIT: Я просил модератора удалить эту тему. У меня здесь было несколько ошибок. Я создаю новый.

+1

message-modal - это div id not button в http://pastebin.com/112g1Gje. – ravigadila

+0

Что означает «не работает»? У вас ошибка «элемент не найден»? Некоторая другая ошибка? Сбой вашей программы? –

ответ

-1

Попробуйте

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

Днем Coding :)

+0

Это не работает:/.. также сообщение modal является div. Я допустил ошибку. – ThatProgrammerDude

0

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

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

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

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

PS

сообщение покадрово является идентификатором. модальный контейнер, поэтому ничего не происходит По этому коду

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

Извините, но как мне закодировать кнопку, которая открывается? Также я понял эту ошибку. Но как мне закодировать кнопку, которая открывает это ... Я запускаю этот код на веб-странице в Интернете? – ThatProgrammerDude

+0

Я обновил код своей кнопки. Взгляни, пожалуйста –