虽然使用IE进行自动化使用Selenium Webdriver,但我可以打开该URL,但在该页面上查找该元素正在抛出以下异常:异常(org.openqa.selenium.NoSuchWindowException):在Internet Explorer中将Selenium WebDriver与Java结合使用
org.openqa.selenium.NoSuchWindowException:无法在 封闭的窗口中找到元素(警告:服务器未提供任何堆栈跟踪信息 )
我已经试过driver.switchTo.window()
方法,但它的不工作。 我已经搜索了几个小时,我没有得到任何地方。
下面的代码:
public static Selenium selenium;
public static void main(String args[]) {
try {
System.setProperty(
"webdriver.ie.driver",
"D:\\Driver\\IEDriverServer_Win32_2.32.3_latest\\IEDriverServer.exe");
DesiredCapabilities capab = DesiredCapabilities.internetExplorer();
capab.setCapability(
InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,
true);
WebDriver driver = new InternetExplorerDriver(capab);
driver.get("http://www.google.com");
driver.findElement(By.xpath(".//*[@id='addlang']/a[1]")).click();
} catch (Exception e) {
e.printStackTrace();
}
}
请注意下面的答案,添加该功能确实会在您的测试中引起不稳定情况,甚至在删除该设置之前诊断问题都没有意义。我也会好心地问你,不要**用谷歌进行测试(除非你有需要,而且我会对它是什么感兴趣,因为我会投入巨大的赌注,因为你不一定* *需要**实际上是在谷歌的用户界面搜索,有办法解决它)。这是一个**非常复杂的页面。请使用更简单的页面。 – Arran
感谢Arran的回复。我尝试使用除谷歌以外的其他页面,但得到相同的错误。不过,我想我已经理解了这个问题。这是与设置INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS功能。再次感谢.. – Amit
我在使用IE 11时遇到了同样的异常。我没有使用任何功能,但不幸的是我得到了这个异常。 –