尝试使用 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()

我点错了。 确保包括点。