【问题标题】:Selenium: failing to find element by XPATH PythonSelenium:无法通过 XPATH Python 找到元素
【发布时间】:2020-10-13 16:59:22
【问题描述】:

我对编程有点陌生,但 python 真的很喜欢它。我正在尝试创建一个自动检查网站更新的程序。我已经成功实现了调用注册页面的必要代码,但仍有一个元素无法定位。因为我必须为多门课程做这件事并遍历它们,所以没有特定的 ID,我试图按标题找到它,但这也没有用。 有没有办法找到标题为“注册”的按钮。

我试过了

driver.find_element_by_xpath("//a\[@title ='enroll']").click()

但这没有用,我总是得到

NoSuchElement

错误。

按钮的 XPATH 很简单://*\[@id="id572"\]

这是HTML代码的一部分:

【问题讨论】:

    标签: python-3.x selenium selenium-chromedriver


    【解决方案1】:

    从您提供的 HTML 代码截图来看,元素是 <button>,而不是 <a>

    试试这个 xpath 表达式//button[@title='enroll']

    【讨论】:

    • 它与 driver.find_element_by_xpath("//*[@title='enroll']") 一起使用
    • @cannik 如果在我的工作代码中,我更喜欢使用button 而不是*。信息越准确,就越能准确定位元素。
    【解决方案2】:

    如果它不在任何 iframe 中,则应该这样做。只需抓住标题为注册的按钮并单击即可。您的 css 选择器是一个 a 标签,它可能会动态获取 id。

    driver.find_element_by_css_selector("button[title ='enroll']").click() 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-12
      • 1970-01-01
      • 2022-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-16
      相关资源
      最近更新 更多