繁体   English   中英

ListIterator或Iterator不会在列表末尾停止

[英]ListIterator or Iterator does not stop at the end of the List

我将多个元素(具体是17个)存储到List中。 我正在尝试遍历并打印一些内容。 但是,当我检查时,迭代器.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的元素

由于您不使用迭代器中的元素-该迭代器的光标不会移动,并且hasNext始终为true。 您应该在循环中调用ListIterator::next

ListIterator<WebElement> ele = Categories.listIterator();
while(ele.hasNext()) {
    WebElement element = ele.next();
    // do something with your element
}

ListIterator::next docs:

返回列表中的下一个元素并前进光标位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM