2012-07-06 30 views
0

可能重複:
display image from URL retrieved from ALAsset in iPhoneWedriver的Windows彈出處理

我的代碼是:

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) 

回答

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(); 
+1

上面打印我哪個窗口打開。打印完2個窗口後,它會報錯。基本上我想點擊一個鏈接,並打開一個動態窗口。所以我想執行一些操作,然後切換回主窗口。我只是使用iterate.next();而不是while循環。兩次它不起作用。使用隱含的等待點擊後甚至然後一個大的沒有全部:( – Ram 2012-07-06 15:20:00

+0

更新了答案。 – vidit 2012-07-07 18:33:24

+0

非常感謝你。 – Ram 2012-07-09 04:45:45

1

如果迴路有可能被用來然後它就像

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