gpt4 book ai didi

java - 查找另一个元素内的所有 anchor 元素的 xpath 是什么?

转载 作者:行者123 更新时间:2023-12-01 09:13:32 25 4
gpt4 key购买 nike

我在 WebDriver 中使用 xpath 定位某个元素时遇到问题。以下是我的方法:

场景 1:下面找到“href”包含提供的值的所有 anchor 元素。使用这种方法我能够找到 38 个元素。同意。按预期工作。 driver.findElements(By.xpath("//a[contains(@href,'http://www.holidayiq.com/hotels/')]"));

场景 2:我首先找到一个名为“Rank-bar”的类,该类仅可用一次。然后,我使用相同的 xpath 仅定位此类中的所有 anchor 标记。预期的 anchor 标记是 4 但是,我仍然使用这种方法找到了 38 个元素。

WebElement elements2 = driver.findElement(By.className("rank-bar"));
elements2.findElements(By.xpath("//a[contains(@href,'http://www.holidayiq.com/hotels/')]"));

我在这里做错了什么?请帮忙。

最佳答案

实际上,您再次在整个文档上下文中搜索 anchor 元素,这就是您找到相同内容的原因。

如果您想在 elements2 上下文中搜索 anchor 元素,you need to search with .// xpath如下:-

elements2.findElements(By.xpath(".//a[contains(@href,'http://www.holidayiq.com/hotels/')]"));

或者您可以使用 cssSelector 在衬垫上找到相同的内容,如下所示:-

List<WebElement> allLinks = driver.findElements(By.cssSelector(".rank-bar a[href*='http://www.holidayiq.com/hotels/']"));

关于java - 查找另一个元素内的所有 anchor 元素的 xpath 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40759058/

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