一个窗口中打开另一个新的窗口时,会产生一个新的句柄,而driver对应的句柄,还在前一个窗口里。所以如果要操作新的句柄,则需要切换。
1 //先保存原来的窗口句柄 2 String windowBef = driver.getWindowHandle(); 3 //这个步骤打开了一个新的窗口 4 checkoutPage.getViewOrder().click(); 5 //获取所有窗口的句柄,如果不等于之前的句柄,则将driver switch到新的窗口 6 for(String win:driver.getWindowHandles()){ 7 if(!win.equals(windowBef)){ 8 driver.switchTo().window(win); 9 } 10 }
这个是在两个窗口的情况下,进行的窗口切换操作。