【问题标题】:Trying to click a button in Python using Selenium Web Driver尝试使用 Selenium Web 驱动程序单击 Python 中的按钮
【发布时间】:2016-10-04 04:11:35
【问题描述】:

我正在尝试使用 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

有人知道吗?

【问题讨论】:

  • 哇,HTML 源代码真的很难阅读。您可以让我们更轻松地只显示您想要单击的相关元素的 html。此外,检查是否有多个元素返回匹配该 css 选择器我看到至少其中两个。一个有一个id,使用起来会更好。该css选择器将是“button#button-send-feedback”
  • 哎呀!是的,我认识人!真是疯了!一路走到尽头。 CTRL+F "btn btn-primary"
  • 这也是第一个按钮,那是反馈按钮。我正在尝试单击消息按钮。
  • 在您的第一次尝试中,错误本身会告诉您出了什么问题。您要单击的元素上还有其他内容。即 CSS 错误。使用 javascript 的第二次尝试表明您的网站上存在 javascript 错误。您必须先使用 chrome 开发工具修复这两个问题,然后才能使用 selenium。
  • 解决了,谢谢大家。我现在将发布解决方案。

标签: python selenium elements clicking


【解决方案1】:
driver.find_element_by_css_selector(".btn.btn-lg.btn-block.btn-message.open-write-message").click()

我点击了错误的东西。 确保包括点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-30
    • 2021-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-22
    • 1970-01-01
    • 2018-01-30
    相关资源
    最近更新 更多