我正在尝试使用 Python 和 selenium Web 驱动程序单击 html 页面上的按钮。
这是页面http://pastebin.com/112g1Gje的源代码。
编辑:最后的相关部分..“btn btn-primary”
我真的很接近解决这个问题:类名中有空格,我用点替换了空格......这使它工作(感谢另一个 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
有人知道吗?