在一个页面上,点击一个链接之后不会在当前页面上打开此链接而是新开一个窗口打开此页面。
Selenium也提供了对应的API来处理。简述这个查找新窗口的过程。
参考答案:
1)首先需要了解下,每个窗口都是有个句柄的,可以理解为浏览器窗口的标识符。 可以根据这些标识符来确定新开的窗口,具体思路如下: 首先获得当前句柄: String current_handles = driver. getWindowHandle(); 2)出现新窗口之后,获取所有窗口句柄 Set String all_handles = driver.getWindowHandles(); 3)循环判断,把当前句柄从所有句柄中移除,剩下的就是想要的新窗口 Iterator String it = all_handles.iterator(); while(it.hasNext()){ if(current_handles == it.next()) continue; //跳入新窗口 WebDriver window = dr.switchTo().window(it.next()); }