【发布时间】:2019-09-12 08:08:05
【问题描述】:
我将多个元素(具体为 17 个)存储到列表中。我正在尝试遍历它并打印一些东西。但是当我检查时,迭代器 .hasNext() 并没有在列表的末尾停止。
List<WebElement> Categories = driver.findElements(By.xpath("//h2[@class='popover-category-name']"));
ListIterator<WebElement> ele = Categories.listIterator();
int i=0;
while(ele.hasNext()) {
//String eleText = Categories.get(i).getText();
System.out.println("Element at position "+i+" ");
i++;
}
输出是这样的。
...
位置 1329908 的元素
位置 1329909 的元素
位置 1329910 的元素
位置 1329911 的元素
位置 1329912 的元素
位置 1329913 的元素
【问题讨论】:
-
您不会通过调用
next来消耗迭代器中的元素,因此hasNext始终为真。 -
next 返回列表中的下一个元素并前进光标位置。
标签: java selenium iterator webdriver