0

可能重复:
从 iPhone 中的 ALAsset 检索的 URL 显示图像

我的代码是:

Set<String> windowsid = driver.getWindowHandles();
Iterator<String> iterate = windowsid.iterator();

while(iterate.hasNext()){
    System.out.println(iterate.next());
}

String mainwindow_id = iterate.next();
String tabbedwindow_id = iterate.next();

我收到一个错误@String mainwindow_id = iterate.next();

陈述如下,第 45 行是我在引号中的行。
我已经宣布SetString

请帮忙 !

Exception in thread "main" java.util.NoSuchElementException
at java.util.LinkedHashMap$LinkedHashIterator.nextEntry(LinkedHashMap.java:375)
at java.util.LinkedHashMap$KeyIterator.next(LinkedHashMap.java:384)
at windows.traverse.main(traverse.java:45)
4

2 回答 2

2

循环之后,

while(iterate.hasNext()){ 
    System.out.println(iterate.next()); 
} 

集合中没有要迭代的元素。您遍历了所有窗口,这就是为什么NoSuchElementException.

你能解释一下你想做什么吗?

如果我理解正确,则不需要使用循环。由于只有两个窗口,你可以做..

Set<String> windowsid = driver.getWindowHandles();
Iterator<String> iterate = windowsid.iterator();

String mainwindow_id = iterate.next();
String tabbedwindow_id = iterate.next();
于 2012-07-06T12:37:46.043 回答
1

如果必须使用循环,那么就像

while(iterate.hasNext()){
    String st = iterate.next();
    System.out.println(st);
}
于 2012-07-10T10:55:15.093 回答