我有一个从selenium-webdriver获得的列表:
List<WebElement> allElements = driver.findElements(By.xpath(""));
现在我想获得前6个元素并打印出来。
答案 0 :(得分:4)
另一种简洁的方法是使用Java 8中的streams:
List<WebElement> subElements = allElements.stream().limit(6).collect(Collectors.toList());
答案 1 :(得分:1)
使用条件来检查for循环迭代,例如,
int i=1;
for(WebElement element: allElements){
if(i==6)
break; //break the loop
system.out.println(""+element.getText());
i++;
}
答案 2 :(得分:1)
有多种方式,其中一种方式如下:
for(int i=0; i < 6; i++) {
WebElement element = allElements.get(i);
}
答案 3 :(得分:1)
您可以使用List#sublist()
:
System.out.println(allElements.subList(0, 6));
或者,既然你正在使用Webdriver,你也有Google Guava(它是一个传递依赖),所以Iterables.limit()
也可以工作,它可以说更具可读性,并且当列表太短时不会失败:
System.out.println(Iterables.limit(allElements, 6));