为什么我无法使用Selenium Webdriver导航到新窗口?

时间:2016-05-06 07:00:11

标签: java selenium selenium-webdriver automation window-handles

我无法导航到新窗口,因为它显示父窗口和子窗口的相同窗口。我用这个代码。有什么问题?

String parent_Window = driver.getWindowHandle();
Set<String> handles =  driver.getWindowHandles();
 for(String window_Handle  : handles){
    if(!window_Handle.equals(parent_Window)){
        driver.switchTo().window(window_Handle);
        //<!--Perform operation here for new window--> 

     driver.switchTo().window(parent_Window);
        }
    }

2 个答案:

答案 0 :(得分:1)

您可能在打开新窗口之前尝试切换。如果是这种情况,请首先获取主窗口句柄,然后尝试打开新窗口并切换到新窗口(或选项卡)。

我希望它会有所帮助。

答案 1 :(得分:0)

使用以下代码:

// Store the current window handle
String winHandleBefore = driver.getWindowHandle();

 // Switch to new window opened
for(String winHandle : driver.getWindowHandles()){
driver.switchTo().window(winHandle);
 }

// Perform the actions on new window

// Close the new window, if that window no more required
driver.close();

 // Switch back to original browser (first window)
driver.switchTo().window(winHandleBefore);