Python Selenium 单击带有类的按钮

标签 python selenium selenium-webdriver css-selectors selenium-chromedriver

我是 python selenium 新手,我正在尝试单击具有以下 HTML 结构的按钮:

<div class="wpsafe-top text-center"> 
  <h1><strong><span style="color: #ce2525;">Click on Submit to Get Link</span></strong></h1><br>
  <form action="https://url.com/post" method="post">
    <input type="hidden" name="getlink" value="NVudM3E">
    <input type="hidden" name="newwpsafelink" value="eyJsaW5rIjoiTlZ1ZE0zRSIsImFkczEiOiIiLCJhZHMyIjoiIiwibG9nbyI6IiIsImltYWdlMSI6Imh0dHA6XC9cL3RlY2hjb2RlY3MuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDE5XC8xMlwvZ2VuLnBuZyIsImltYWdlMiI6Imh0dHA6XC9cL3RlY2hjb2RlY3MuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDE5XC8xMlwvcGx6LnBuZyIsImltYWdlMyI6Imh0dHA6XC9cL3RlY2hjb2RlY3MuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDE5XC8xMlwvY2xrLnBuZyIsImxpbmtyIjoiaHR0cHM6XC9cL3RlY2hjb2RlY3MuY29tP3NhZmVsaW5rX3JlZGlyZWN0PTUlNUIlOUQzcSIsImRlbGF5dGV4dCI6IjxiPjxoMiBzdHlsZT0nY29sb3I6cmVkJz5Mb2FkaW5nIExpbmsgLi4uIFdhaXQgPHNwYW4gaWQ9XCJ3cHNhZmUtdGltZVwiPjEyPFwvc3Bhbj4gU2Vjb25kczxcL2gyPjxcL2I+IiwiZGVsYXkiOiIxMiIsImFkYiI6IjIiLCJhZGIxIjoiIiwiYWRiMiI6IiJ9">
    <input class="btn btn-primary" type="submit" value="Submit">
  </form> 
</div>

我尝试过单击“提交”按钮。

driver.find_element_by_css_selector('btn btn-primary').click()

但我总是会遇到错误

Message: no such element: Unable to locate element: {"method":"css selector","selector":".btn btn-primary"}

最佳答案

find_element_by_css_selector('btn btn-primary') 将查找带有标签 btn-primary 的元素,该元素具有带有标签 btn 的祖先元素.

您需要告诉驱动程序这些是带有的类。

driver.find_element_by_css_selector('.btn.btn-primary').click()

或者明确

driver.find_element_by_css_selector('[class="btn btn-primary"]').click()

关于Python Selenium 单击带有类的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59443987/

相关文章:

ruby-on-rails - Rails RSpec 意外警报打开

java - 如何在 JAR 中包含 ChromeDriver?

java - 在java中使用firefox webdriver从当前节点获取Xpath

google-chrome - 如何在 ChromeDriver 中启用详细日志记录? (Geb配置)

selenium - 我需要帮助从相同的 HTML 代码编写 Xpath

python - 如何从 Python3 中的像素值列表创建图像?

python - Django - ValueError : Socket has not been accepted, 因此无法发送它

python - 如何为简单的 Python 脚本创建 Web 界面?

python - 使用 Scapy 解析 PPPoE 标签

Python Selenium - 等到表单提交后加载下一页