IE 9 getWindowHandles - 不识别新的浏览器窗口

时间:2013-07-10 00:32:07

标签: selenium-webdriver

我在Windows 7和IE9中使用Selenium 2.32,IEDriverServer 2.32,Eclipse,Java JDK 1.6.0_43。我用来启动驱动程序的代码是

File file = new File("IEDriverServer.exe");
System.setProperty("webdriver.ie.driver", file.getAbsolutePath());
DesiredCapabilities ieCapabilities = DesiredCapabilities.internetExplorer();
ieCapabilities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true);
WebDriver driver = new InternetExplorerDriver(ieCapabilities);

在IE9中,当我点击打开新浏览器的链接时,driver.getWindowHandles()只返回一个浏览器(父浏览器),并且永远不会识别新的浏览器。当我在IE 8中使用相同的代码时,它可以工作并识别新的浏览器。

由于公司政策,IE9中不同区域的“安全”设置不同。对于两个区域,启用“启用保护模式”,而在其他区域中,未启用该模式。这是问题的原因吗?请建议。

1 个答案:

答案 0 :(得分:0)

步骤如下:

  1. 应为所有区域检查“启用保护模式” 安全级别应设置为“中”。
  2. 花一些时间使用Thread.sleep()加载页面。现在你会的 获取getWindowHandles()方法的正确值。