找不到元素xPath

2024-09-28 23:24:10 发布

您现在位置:Python中文网/ 问答频道 /正文

所以,我有一个XPath(我已经通过googlechrome工具验证了这一点,并且有一个惟一的值。在

我尝试了各种方法来尝试获得这个xpath,最初在chrome中使用right click > copy xpath给了我:

//*[@id="hdr_f0f7cdb71b9a3f44782b87386e4bcb3e"]/th[2]/span/a

但是,每次重新加载时,此ID都会更改。在

所以,我最终得出结论:

^{pr2}$

Tags: 工具方法rightidhdrchromexpathclick
3条回答

检查一下:

len(driver.find_elements_by_xpath('//*[contains(@id, "hdr_")]'))

如果你得不到很多元素,那么你就完成了:

^{pr2}$

不应将/text()用于WebElement。使用“//th[@name='name']/span/a”作为Xpath,并使用元素.text(不确定Python的确切方法,但在Java中是这样元素.getText())

我建议使用绝对XPath而不是相对XPath,如果id随每次加载而变化,那么它可能会解决这个问题。请在下面使用google搜索栏查看绝对XPath与相对XPath的区别。在

  • 相对XPath-//*[@id=“tsf”]/div[2]/div/div[1]/div/div[1]/input
  • 绝对XPath-/html/body/div/div[3]/form/div[2]/div/div[1]/div/div[1]/input

正如您所说的,我理解您不能共享链接,但是如果您可以共享显示DOM的inspect元素快照,这里的人可以提供帮助。这样,如果XPath中有问题,就可以纠正它。谢谢:-)

相关问题 更多 >