尝试使用 Selenium Web 驱动程序单击 Python 中的按钮
Trying to click a button in Python using Selenium Web Driver
我正在尝试使用 Python 和 selenium 网络驱动程序单击 html 页面上的按钮。
这是页面的源代码http://pastebin.com/112g1Gje。
编辑:相关部分在最后.. "btn btn-primary"
我真的快弄明白了:
class 名称中有空格,我用点替换了空格...使它起作用(感谢另一个 SO post)。
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
有人知道吗?
driver.find_element_by_css_selector(".btn.btn-lg.btn-block.btn-message.open-write-message").click()
我点错了。
确保包括点。
我正在尝试使用 Python 和 selenium 网络驱动程序单击 html 页面上的按钮。
这是页面的源代码http://pastebin.com/112g1Gje。
编辑:相关部分在最后.. "btn btn-primary"
我真的快弄明白了: class 名称中有空格,我用点替换了空格...使它起作用(感谢另一个 SO post)。
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
有人知道吗?
driver.find_element_by_css_selector(".btn.btn-lg.btn-block.btn-message.open-write-message").click()
我点错了。 确保包括点。