【发布时间】:2013-05-15 06:08:28
【问题描述】:
在使用 Selenium Webdriver 使用 IE 进行自动化时,我可以打开 URL,但在该页面上找到该元素会引发以下异常:
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();
}
}
【问题讨论】:
-
请注意下面的答案,添加该功能确实会导致您的测试不稳定,在删除该设置之前,甚至没有必要诊断您的问题。我还恳请您不要使用 Google 进行测试(除非您有需要,而且我会对它感兴趣,因为我会押注您不这样做'不一定需要在 Google 的 UI 中进行实际搜索,有一些方法可以绕过它)。这是一个非常复杂的页面。请使用更简单的页面。
-
感谢阿兰的回复。我也尝试使用谷歌以外的页面,但得到了同样的错误。但是,我想我已经理解了这个问题。它与设置 INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS 能力有关。再次感谢..
-
我在使用 IE 11 时遇到了同样的异常。我没有使用任何功能,但不幸的是我遇到了该异常。
-
driver.switchTo.window() 不是解决这个问题的完美代码。
标签: java selenium internet-explorer exception selenium-webdriver