InternetExplorerDriver 使用 findElement 方法抛出 WebDriverException:NoSuchWindowException。我该如何阻止呢?
InternetExplorerDriver throws WebDriverException with findElement method: NoSuchWindowException. How do I stop this?
我们使用 Selenium 3.4 启动了一个新的 Selenium 环境,使用具有基于 Linux 的集线器和基于 Windows 服务器的节点的网格配置。 InternetExplorerDriver
在远程 运行 时开始抛出 NoSuchWindowException
。我得到以下输出:
org.openqa.selenium.support.ui.ExpectedConditions findElement
WARNING: WebDriverException thrown by findElement(By.xpath: //h2[starts-with(@class, 'headline')])
org.openqa.selenium.NoSuchWindowException: Unable to find elements on closed window (WARNING: The server did not provide any stacktrace information)
[many more stack trace lines]
Caused by: org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:141)
... 43 more
最终它会一遍又一遍地重复 NoSuchWindowException
。
我们运行正在使用 IE 11,所以我确保禁用了增强保护模式,应用了正确的注册表项修复,等等,如 SeleniumHQ 所述 (https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver#required-configuration) ,以及 Whosebug 上的许多答案。 Chrome 工作正常,Firefox 工作正常,IE 甚至工作正常,只要它在本地 运行。我找不到关于此的更多信息。
如何阻止此异常的发生?
对我们来说,这是 Windows 服务器 运行 连接节点的问题(我们之前在 Windows 7 机器上 运行 连接它) .该节点必须是 运行 作为管理员。我们最终创建了一个快捷方式,并通过快捷方式选项卡 -> 高级按钮将其设置为 运行 作为管理员。
我们使用 Selenium 3.4 启动了一个新的 Selenium 环境,使用具有基于 Linux 的集线器和基于 Windows 服务器的节点的网格配置。 InternetExplorerDriver
在远程 运行 时开始抛出 NoSuchWindowException
。我得到以下输出:
org.openqa.selenium.support.ui.ExpectedConditions findElement
WARNING: WebDriverException thrown by findElement(By.xpath: //h2[starts-with(@class, 'headline')])
org.openqa.selenium.NoSuchWindowException: Unable to find elements on closed window (WARNING: The server did not provide any stacktrace information)
[many more stack trace lines]
Caused by: org.openqa.selenium.remote.ScreenshotException: Screen shot has been taken
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:141)
... 43 more
最终它会一遍又一遍地重复 NoSuchWindowException
。
我们运行正在使用 IE 11,所以我确保禁用了增强保护模式,应用了正确的注册表项修复,等等,如 SeleniumHQ 所述 (https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver#required-configuration) ,以及 Whosebug 上的许多答案。 Chrome 工作正常,Firefox 工作正常,IE 甚至工作正常,只要它在本地 运行。我找不到关于此的更多信息。
如何阻止此异常的发生?
对我们来说,这是 Windows 服务器 运行 连接节点的问题(我们之前在 Windows 7 机器上 运行 连接它) .该节点必须是 运行 作为管理员。我们最终创建了一个快捷方式,并通过快捷方式选项卡 -> 高级按钮将其设置为 运行 作为管理员。