gpt4 book ai didi

java - findelements(by.xpath()) 仅返回列表的一个索引

转载 作者:太空宇宙 更新时间:2023-11-04 06:59:28 24 4
gpt4 key购买 nike

我这里的代码行是:

List<WebElement> element = driver.findElements(By.xpath("*"));
for(int i=0; i<element.size(); i++)
{
System.out.println(i + element.get(i).getText());
}

出于某种原因,当迭代列表时,它返回列表的一个索引中的所有元素。换句话说,元素的大小只有1。

如何将元素返回到列表的多个索引中?

最佳答案

如果 driver 位于文档的根部,则 * 将仅匹配一个元素,即顶部的元素。如果您想选择整个文档中的所有元素,那么这将是正确的 XPath:

List<WebElement> element = driver.findElements(By.xpath("//*"));

请注意,HTML 元素的字符串值是它包含的文本加上其后代文本的组合,一直向下递归。例如:

<p>
<b>Here is some bold <i>italic</i> text.</b>
Here is some normal text.
</p>

p 元素的字符串值为:

Here is some bold italic text.
Here is some normal text.

b 元素的字符串值为:

Here is some bold italic text.

i 元素的字符串值为:italic

因此,如果您要实际选择所有元素并打印出它们的内容,您将会遇到一些重复。

关于java - findelements(by.xpath()) 仅返回列表的一个索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22307669/

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