我做了以下搜索
parts.get(i).findElements(By.xpath("//li[starts-with(@class, '_lessons--row-')]"))
它返回了数十个结果,而我在开发人员工具中看到,其中只有不超过3个。
parts.get(i)
会返回单WebElement
。
看起来它不是搜索给定元素的子元素,而是搜索整个页面。可以双斜线导致这个吗?什么是双斜杠在XPath中意味着什么?
答案 0 :(得分:2)
你的xpath在这里有问题。
"//li[starts-with(@class, '_lessons--row-')]"
//
从根级搜索,从节点preappend .
搜索:
".//li[starts-with(@class, '_lessons--row-')]"
答案 1 :(得分:0)
使用.//尝试你的xpath,通常你应该用“。”启动xpath。停止从root中查找元素。
.//li[starts-with(@class, '_lessons--row-')]
答案 2 :(得分:0)
//
匹配相关数据。从文档根开始。在您的情况下,您尝试使用
//li[starts-with(@class, '_lessons--row-')]
所以它将返回你的html中的所有匹配。如果您想要找到class
元素的某个特定部分,请使用起始文本_lessons--row-
。您必须使xpath
更具体。
例如
//div[@id='someid']//li[starts-with(@class, '_lessons--row-')]