2017-07-04 94 views
0

我目前正在開發一個應用程序的自動化測試,並使用很多窗口。我試圖找出一種方法來切換這些窗口和焦點在最近打開的一個,但迭代通過窗口句柄和比較標題或URL只是太慢對我們來說,因爲這個應用程序打開這麼多的窗口!Selenium中有沒有窗口迭代的替代方案?

你們有沒有找到一種方法來做到這一點,而沒有常規方法獲取windowHandles並迭代它呢? 非常感謝!

回答

0

getWindowHandles()返回LinkedHashSet女巫維持插入順序。上次打開的窗口將是Set中的最後一項。 Set接口本身沒有選項來獲得最後一個項目,但你可以做一些像

Set<String> windowHandles = driver.getWindowHandles(); 
String lastWindow = windowHandles.toArray()[windowHandles.size() - 1]; 
driver.switchTo().window(lastWindow); 
+0

嗯,實際上,我發現它不保持秩序!我在其他問題和論壇中看到它,最近也在我的代碼中看到它: - / – ManoPajaro