gpt4 book ai didi

java - 为什么我必须通过 xpath 显式搜索 Selenium 中的相关元素?

转载 作者:行者123 更新时间:2023-11-30 02:44:52 25 4
gpt4 key购买 nike

我正在尝试使用 Selenium 的 WebDriver 通过 xpath 查找元素:

WebElement element1 = driver.findElement(By.id("someID"));
List<WebElement> xPathElements = element1.findElements((By.xpath("//span[@class='someClass']")));

通过这段代码,我可以获取 DOM 中带有 class='someClass' 的所有元素。

仅当我添加“.”时在 xpath 字符串的开头,我获取 element1

下带有 class='someClass' 的所有元素
element1.findElements((By.xpath(".//span[@class='someClass']")));

这里有什么意义?我从 element1 调用了 findElements,因此默认情况下它应该搜索 element1 下的元素,为什么我必须添加“.”?

最佳答案

它与 Selenium 无关,它是 xpath 的工作方式。

如果您有类似//elem 的内容,xpath 将位于文档中的任何位置。但是,如果您想搜索相对于另一个元素或更确切地说是后代的元素,那么您必须使用“.”。或像 .//elem 这样的点。

关于java - 为什么我必须通过 xpath 显式搜索 Selenium 中的相关元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40485455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com