Я пытаюсь нажать кнопку на странице html с помощью веб-драйвера Python и селена.Попытка нажать кнопку в Python с помощью Selenium Web Driver
Это исходный код страницы http://pastebin.com/112g1Gje.
EDIT: Соответствующая часть на это в конце .. «БТН БТН-первичный»
Я очень близко к разгадке это: Имя класса имели места в нем, и я заменил пространства с точками ..., которые заставили его работать (благодаря другому сообщению SO).
driver.find_element_by_css_selector(".btn.btn-primary").click()
Теперь ошибка, я получаю:
selenium.common.exceptions.ElementNotVisibleException: Message: Element is not currently visible and so may not be interacted with
Так что я пытаюсь что-то вроде:
driver.execute_script('document.querySelector("btn.btn-primary").click()')
Из моего понимания я должен написать JavaScript, который нажимает на кнопку, а не потому, что элемент не отображается. Но это не работает.
Я получаю ошибку почти нечитаемый:
driver.execute_script('document.querySelector("btn.btn-primary").click()')
File "/Users/Richie/anaconda/lib/python3.5/site- packages/selenium/webdriver/remote/webdriver.py", line 461, in execute_script
{'script': script, 'args':converted_args})['value']
File "/Users/Richie/anaconda/lib/python3.5/site- packages/selenium/webdriver/remote/webdriver.py", line 233, in execute
self.error_handler.check_response(response)
File "/Users/Richie/anaconda/lib/python3.5/site- packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: document.querySelector(...) is null
Кто-нибудь знает?
Ничего себе, этот HTML-источник ДЕЙСТВИТЕЛЬНО трудно читать. Вы могли бы облегчить нам показывать только html для соответствующего элемента, который вы хотите щелкнуть. Кроме того, проверьте, есть ли несколько элементов, которые возвращаются в соответствии с селектором css. Я вижу по крайней мере два из них. У одного есть id, который лучше использовать. селектор css для этого будет «кнопка # button-send-feedback» –
Упс! Да, я знаю человека! Это орехи! Это все в конце. CTRL + F "btn btn-primary" – ThatProgrammerDude
Это также первая кнопка, это кнопка обратной связи. Я пытаюсь нажать кнопку сообщения. – ThatProgrammerDude