如何确保我的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
我怎样才能做到这一点?
任何数组实现都是更好的选择吗?
答案 0 :(得分:1)
尝试以下代码:
foreach ($getPostlikes as $key=> $item) {//suppose array is $getPostlikes
echo $item['from']['name'];
}
答案 1 :(得分:1)
尝试以下代码。
List<WebElement> links = driver.findElements(By.xpath("//tr/td/a"));
for(int i=0;i<links.size();i++){
System.out.println(links.get(i).getAttribute("href"));
}