[英]Can't find element - xPath correct
因此,我有一个XPath(我已经通过Google Chrome浏览器工具验证了此功能并具有1个唯一的值。
我尝试了各种方法来尝试获取此xpath,最初使用right click > copy xpath
在chrome中right click > copy xpath
给了我:
//*[@id="hdr_f0f7cdb71b9a3f44782b87386e4bcb3e"]/th[2]/span/a
但是,此ID在每次重新加载时都会更改。
因此,我最终将其归结为:
//th[@name="name"]/span/a/text()
element = driver.find_element_by_xpath("//th[@name='name']/span/a/text()")
print(element)
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//th[@name='name']/span/a/text()"}
检查一下:
len(driver.find_elements_by_xpath('//*[contains(@id, "hdr_")]'))
如果您不会得到很多元素,则可以完成以下操作:
driver.find_elements_by_xpath('//*[contains(@id, "hdr_")]')
您不应将/ text()用于WebElement。 使用“ // th [@ name ='name'] / span / a”作为Xpath并使用element.text打印文本(不确定Python的确切方法,但在Java中是element.getText())
我会建议使用绝对XPath而不是相对XPath,如果id随每次加载而变化,它可能会解决它。 请在下面使用Google搜索栏查看绝对XPath与相对XPath有何不同。
我理解您所说的无法共享链接,但是如果您可以共享显示DOM的检查元素快照,那么这里的人可以为您提供帮助。 因此,如果XPath中存在问题,则可以将其纠正。 谢谢 :-)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.