我正在使用selenium运行自动化测试并收到以下错误 -
org.openqa.selenium.NoSuchWindowException:没有这样的窗口:目标窗口已经关闭 来自未知错误:找不到网页视图
我已经搜索了关于该主题的其他问题但是在这种情况下,窗口句柄没有切换,没有打开新窗口,并且基本窗口仍然存在。 结果:它打印列名称的值两次,然后显示错误。
代码如下:
DiseSearchtable = driver.findElement(By.xpath(SearchResulttableLocator));
List<WebElement> rows=DiseSearchtable.findElements(By.tagName("tr"));
for(int rnum=0;rnum<rows.size();rnum++) {
List<WebElement>columns=rows.get(rnum).findElements(By.tagName("th"));
System.out.println("Number of columns:"+columns.size());
for(int cnum=0;cnum<columns.size();cnum++) {
System.out.println(columns.get(cnum).getText());
}
}
trace - org.openqa.selenium.NoSuchWindowException:没有这样的窗口: 目标窗口已从未知错误关闭:未找到Web视图
(会话信息:chrome = 48.0.2564.109)(驱动程序信息: chromedriver = 2.9.248315,platform = Windows NT 6.1 SP1 x86_64)(警告: 服务器没有提供任何堆栈跟踪信息)命令 持续时间或超时:11毫秒
答案 0 :(得分:0)
尝试添加更多代码以便澄清。更好的是,你应该检查selenium和浏览器的版本,它们是否相互兼容。其次,尝试再次查看登录和设置。
答案 1 :(得分:0)
您的问题过于简单,无法回答。
这里还有一个答案ChromeDriver exception reporting “target window already closed” in headless mode
答案 2 :(得分:0)
根据我的经验,如果一段时间不刷新页面,则会发生此错误。只需设置一个计时器来每小时刷新一次,那应该很好。
您遍历的列表可能正在刷新,而当您尝试在其元素上执行某些操作时,它就会失败。