Java 使用Selenium WebDriver在元素内查找时结果过多
我做了下面的搜索Java 使用Selenium WebDriver在元素内查找时结果过多,java,selenium,xpath,selenium-webdriver,selenium-chromedriver,Java,Selenium,Xpath,Selenium Webdriver,Selenium Chromedriver,我做了下面的搜索 parts.get(i).findElements(By.xpath("//li[starts-with(@class, '_lessons--row-')]")) 它返回了几十个结果,而我在开发者工具中看到的结果不超过3个 parts.get(i)返回single 看起来它不是搜索给定元素的子元素,而是搜索整个页面。双斜杠会导致这种情况吗?双斜杠在XPath中的含义是什么?您的XPath在这里有错误 "//li[starts-with(@class, '_lessons--
parts.get(i).findElements(By.xpath("//li[starts-with(@class, '_lessons--row-')]"))
它返回了几十个结果,而我在开发者工具中看到的结果不超过3个
parts.get(i)
返回single
看起来它不是搜索给定元素的子元素,而是搜索整个页面。双斜杠会导致这种情况吗?双斜杠在XPath中的含义是什么?您的XPath在这里有错误
"//li[starts-with(@class, '_lessons--row-')]"
/
从根级别进行搜索,以从节点预显示进行搜索
:
".//li[starts-with(@class, '_lessons--row-')]"
您的xpath在这里有错误
"//li[starts-with(@class, '_lessons--row-')]"
/
从根级别进行搜索,以从节点预显示进行搜索
:
".//li[starts-with(@class, '_lessons--row-')]"
请使用.//尝试xpath,通常应以“.”开始xpath,以停止从根查找元素
.//li[starts-with(@class, '_lessons--row-')]
请使用.//尝试xpath,通常应以“.”开始xpath,以停止从根查找元素
.//li[starts-with(@class, '_lessons--row-')]
/
匹配相关数据。从文档根开始。在您的情况下,您正试图使用
//li[starts-with(@class, '_lessons--row-')]
因此,它将返回html中的所有匹配项。如果您想使用类
查找元素的某些特定部分,请使用开始文本\u课程-行-
。您必须使您的xpath
更加具体
e、 g
/
匹配相关数据。从文档根开始。在您的情况下,您正试图使用
//li[starts-with(@class, '_lessons--row-')]
因此,它将返回html中的所有匹配项。如果您想使用类
查找元素的某些特定部分,请使用开始文本\u课程-行-
。您必须使您的xpath
更加具体
e、 g
/
是/genderant或self::node()/
的缩写。更多信息,请参阅。“后代或自我”听起来与其他人所说的相矛盾(来自根)?请查看上面规范的链接。滚动该部分开头的示例并阅读最后几段。它解释了/
和
以及它们是如何协同工作的。这也可能会有所帮助:/
是/genderant或self::node()/
的缩写。更多信息,请参阅。“后代或自我”听起来与其他人所说的相矛盾(来自根)?请查看上面规范的链接。滚动该部分开头的示例并阅读最后几段。它解释了/
和
以及它们如何协同工作。这也可能有助于: