我想从页面中获得独特的元素。我正在计算记录总数。每个记录都属于一个用户,因此有多个记录属于同一用户。我想获得具有唯一用户数的总数。
List<WebElement> efirstpagecount = driver.findElements(By.xpath("//*[@id='usersList']/tbody/tr/td[3]"));
Set<WebElement> uniquecount = new HashSet<WebElement>(efirstpagecount);
System.out.println("Unique count: " + uniquecount.size());
for (WebElement u : uniquecount ) {
System.out.println(u.getText());
}
输出:
Unique count: 20
robin
Rocky
prom
jack
stone
Veronica
Veronica
Shawn
Rocky
carl
Rocky
James
Rocky
sam
bon
sam
bone
don
Shawn
don
以上代码为我提供了包含重复值的计数。请告知如何获取唯一值。预先感谢!
答案 0 :(得分:4)
假设td仅具有用户名,则可以在Java 8中尝试类似的操作。
Set<String> uniqueUsers = efirstpagecount.stream()
.map(WebElement::getText).map(String::trim)
.distinct().collect(Collectors.toSet());