【问题标题】:Selenium not recognizing the xpathSelenium 无法识别 xpath
【发布时间】:2021-12-08 15:20:13
【问题描述】:

在 Python 3.9 和 Selenium 4.00 上

您好,我目前正在尝试在 Chrome 上自动下载一些内容。我得到了登录部分并向下导航到页面,它工作正常。我遇到了下一部分的问题,即单击“导出”然后“导出为 csv”。我将鼠标悬停在 HTML 源代码上,它突出显示了我需要按下的按钮,所以我点击“复制 XPath”,但 selenium 不会按下它,我收到此错误。

编辑:我无法共享该网站,因为它被锁定在登录名后面,并且不是我的登录名可以提供;编辑结束。

Message: invalid selector: Unable to locate an element with the xpath expression //*[@id="report_nav_menu"]/ul/li[2]/a"

这是我的代码

driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get('website')
driver.find_element(By.XPATH, '//*[@id="report_nav_menu"]/ul/li[2]/a').click()
time.sleep(1)  # makes sure the page loads
driver.find_element(By.XPATH, '//*[@id="report_nav_menu"]/ul/li[2]/ul/li[6]/a').click()
time.sleep(1000) # to keep the browser open

这是HTML源代码:

Source code

图片中的第一个亮点是导出按钮。

Need to click this first

第二个高亮显示它用于 CSV 按钮。

Need to click this second

【问题讨论】:

  • 错误是说你的 xpath //class[@elname="zc-navmenuEl/button[2] 不正确。而你分享的代码没有这个。请仔细检查它存在于何处?

标签: python html selenium xpath


【解决方案1】:

//class[@elname="zc-navmenuEl/button[2] 似乎是一个无效的 XPath 表达式。
我看不到您在问题中提供的代码中使用了此定位器。
此外,您没有共享您正在使用的页面的 URL,因此我无法确定正确的元素定位器。

【讨论】:

  • 我意识到我在尝试多种操作时复制了错误的错误消息。此后已更新错误内容。
猜你喜欢
  • 1970-01-01
  • 2020-06-20
  • 1970-01-01
  • 2020-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多