gpt4 book ai didi

java - 使用XPath函数抓取所有匹配的内容

转载 作者:行者123 更新时间:2023-12-02 02:55:27 25 4
gpt4 key购买 nike

如何确保我的 selenium 代码抓取 XPath 的所有匹配内容?
请帮助我提出您的想法。

例如,这些是我的 HTML 标签:

<tr class="1" role="r1">
<td class="c1">
<a href="www.google.com">
</a>
</td>
</tr>
<tr class="2" role="r2">
<td class="c2">
<a href="www.youtube.com">
</a>
</td>
</tr>
<tr class="3" role="c3">
<td class="c3">
<a href="www.facebook.com">
</a>
</td>
</tr>

我希望我的 selenium 代码能够从 href 标签获取所有链接。
所以,下面是我的 XPath:

String links = driver.findElement(By.xpath("//tr[@role='cad']//td[@class='c1']//a")).getAttribute("href"); 
System.out.println(links);

但它仅获取第一个 href 输出,即 www.google.com

所需的输出是:

www.google.com
www.youtube.com
www.facebook.com

我怎样才能实现这个目标?
任何数组实现都是更好的选择吗?

最佳答案

尝试以下代码:

 List<WebElement> elements= driver.findElements(By.xpath("//table/tbody/tr"));

int i =0 ;

while(i<elements.size()){

WebElement childElement = elements.get(i).findElement(By.cssSelector("a"));

System.out.println(childElement.getAttribute("href"));

i++;
}

关于java - 使用XPath函数抓取所有匹配的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43160912/

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