Selenium WebDriver丢失了在IE

时间:2017-01-09 21:12:37

标签: java selenium internet-explorer

请不要将此视为一个重复的问题,而不是完全阅读。

情境:

我必须单击应用程序主页上的链接,这将打开新窗口。打开新窗口后,我需要在该页面上的Web元素上执行一些操作。这显然是你们每个人经常处理的常见情况。

问题: 单击新窗口后,将打开一个新窗口。当执行driver.getWindowHandles()时,它最初会给我2个(父和子)窗口。但是在一两秒内,即使新窗口仍然打开,如果我再次检查windowHandles,它将只返回一个(parentWindow)。

总结一下,驱动程序最初知道正在打开一个新窗口,但不知怎的,它会在一秒左右的时间内丢失第二个窗口的细节,并且只显示一个窗口。由于这个原因,不可能切换到新窗口。显然在CHROME中可以正常工作,但这必须在IE上进行测试。

我的代码:

sysout(driver.getWindowHandle()); //给出:[WINDOW_PARENT]

- 点击链接打开一个新窗口。

系统输出(driver.getWindowHandles()); //给出:[WINDOW_PARENT,WINDOW_CHILD]

Thread.sleep代码(1000);

系统输出(driver.getWindowHandles()); //给出:[WINDOW_PARENT] - 孩子丢失

-

试图:

IE-8/10 / 11- 32位

Selenium-java - 很多人尝试了所有开始2.4

1 个答案:

答案 0 :(得分:0)

有效。 它只是IE上的保护模式设置。我将其更改为所有安全区域的相同,它完美地工作。

在更改之前不久检测到多个窗口的原因是:由于点击链接和IE上的保护模式之间的时间跨度很短。

相信我们IE和硒的问题,你应该检查的第一件事是保护模式设置