我正在处理一个表单,我需要验证列表视图中是否存在新记录。此列表视图包含200多条记录,因此我必须搜索特定值并声明它存在。
问题在于我之前没有使用Listview,并且在列下显示一个值似乎很笨拙。如果有人能就如何使用列表视图提供好的建议,我将不胜感激。
答案 0 :(得分:0)
鉴于以下HTML,您可以尝试以下方法:
<ul>
<li>Item1</li>
<li>Item2</li>
<li>Item3</li>
</ul>
String lookingFor = "Item2";
List<WebElement> allElements = driver.findElements(By.tagName("li"));
for(WebElement ele: allElements ) {
if(ele.getText().trim().equalsIgnoreCase(lookingFor)) {
System.out.println("Got it");
}
}
如果这不是您要找的,请发布一些代码,我会对其进行审核。
此致
答案 1 :(得分:0)
这可以使用xpath完成。
我假设您的列表视图的构建类似于表格,因此您可以根据需要对其进行修改并进行修改,但它应该会给您一个良好的开端。
driver.findElement(By.xpath("//table//tr//td[<column #> - 1][contains(., '<text here>')]"));
说,您正在第3栏中查看文字&#39; ken4ward&#39;:
driver.findElement(By.xpath("//table//tr//td[2][contains(., 'ken4ward')]"));
我正在做&#34;专栏# - 1&#34;因为xpath索引是基于0的,一般来说,我们不会计算以0开头的列。
答案 2 :(得分:0)
您应该考虑使用Hamcrest断言assertThat(selenium.findElement(LocatorOfListView)).getText(),
is(equalTo(ParticularItemYouWantToFind)));
.getText()
将存储列表视图的所有值,其余的自我解释