我有以下情景
我在父窗口中单击一个链接(即添加注释链接)以打开一个新窗口。我添加注释并单击关闭按钮以切换回父窗口
点击关闭按钮后,我遇到异常
引起:org.openqa.selenium.remote.ErrorHandler $ UnknownServerException:找不到窗口。浏览器窗口可能已关闭。 构建信息:版本:'2.39.0',修订版:'14fa800511cc5d66d426e08b0b2ab926c7ed7398',时间:'2013-12-16 13:18:38' 系统信息:主机:'INLN50866593A',ip:'10 .52.27.72',os.name:'Windows 8.1',os.arch:'amd64',os.version:'6.3',java.version:'1.7.0_55 “ 驱动程序信息:driver.version:未知
我已经编写了以下代码来将窗口切换到子窗口
public void switchWindow() {
for (final String s : HtmlAutomationHelper.getWindowHandles())
HtmlAutomationHelper.switchToWindow(s);
SynchronizationHelper.pause(3000);
}
切换窗口后,我添加评论点击关闭按钮
但是一旦我点击关闭按钮,我就会得到nosuchwindowexception
答案 0 :(得分:0)
可能的问题是您正在关闭您不想要的父窗口。
String originalWindowHandle = driver.getWindowHandle();
java.util.Set<java.lang.String> windowHandles = driver.getWindowHandles();
for (String window: windowHandles) {
//skip if parent window
if(!window.equals(originalWindowHandle)){
//if not parent switch to window
driver.switchTo().window(window);
//do whatever and use close window here to
//close the child window
}
// if you are done switch back to parent`
driver.switchTo().window(originalWindowHandle);
}