有多个String元素具有相同的xpath。我使用List<WebElement>
机制在页面对象模型中存储元素。在我的测试用例中,我想打印列表的最后一个字符串值。
以下是存储在存储库中的元素代码。
public Collection<WebElement> UpdatedMessageList(){
Collection<WebElement> element=driver.findElements(By.xpath("//p[@class='msg-paragraph-panel msg-paragraph-msg ng-binding']"));
return element;
}
任何人都可以帮我打印测试用例中的最后一个字符串值吗?
答案 0 :(得分:1)
findElements
会返回List
,而不是任何旧的Collection
,因此您可以使用位置get(int)
:
public WebElement UpdatedMessageList(){
List<WebElement> elements =
driver.findElements(By.xpath(
"//p[@class='msg-paragraph-panel msg-paragraph-msg ng-binding']"));
if (elements.isEmpty()) {
return null; // Or throw some meaningful exception
}
return elements.get(elements.size() - 1);
}
答案 1 :(得分:0)
我非常确定上面的代码会给你编译错误,不确定你是否使用Java 9而且有些东西已经改变了。
另外,不要使用genertic collection class <div class="col-md-6 nopadding cinfo">
<div class="clientinfo">
<h3>IVEY</h3>
<p>Clarksville, TN</p>
<div class="social-icons-clients">
<a href="#"><span class="icon-sprite sprite-ig"> </span></a>
<a href="#"><span class="icon-sprite sprite-fb"> </span></a>
<a href="#"><span class="icon-sprite sprite-gp"> </span></a>
<a href="#"><span class="icon-sprite sprite-sc"> </span></a>
<a href="https://twitter.com/contracoda" target="_blank">
<span class="icon-sprite sprite-tw"> </span>
</a>
</div>
</div>
</div>
返回findElements
List of WebElements