如果我单击父窗口上的链接,子窗口将打开,在子窗口中选择一个值后,子窗口将自动关闭,并且控件仍处于关闭窗口中。如何将控件恢复到父窗口。
代码:
Set<String> windows3 = w.getWindowHandles();
for(String handles3 : windows3)
{
w.switchTo().window(handles3);
System.out.println(w.getTitle());
}
w.switchTo().frame("MainFrame1");
w.findElement(By.name("close_button")).click();
w.switchTo().defaultContent();
如果我单击close
按钮,子窗口将自动关闭。 w.close()
[w
是驱动程序类的引用变量 - WebDriver w = new FirefoxDriver();
];不在这里工作。单击子窗口中的关闭按钮是必需的。请为此提供解决方案
错误:
Exception in thread "main" org.openqa.selenium.NoSuchWindowException: Unable to get browser (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 13 milliseconds
答案 0 :(得分:0)
在切换到子窗口之前,您需要保存父窗口句柄,然后使用该句柄切换回父窗口。
String parentWin=w.getWindowHandle();
/* Switch Window Code */
w.switchTo().window(parentWin);
语句w.switchTo().defaultContent();
正在抛出错误,因为您正在尝试切换到已关闭窗口的默认内容。