为什么我无法使用Selenium Web驱动程序导航到新窗口



我无法导航到一个新窗口,因为它为父窗口和子窗口显示相同的窗口。我使用这个代码。问题出在哪里?

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);
        }
    }

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

我希望这会有所帮助。

使用以下代码:

// 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);

相关内容

最新更新