2017-01-09 87 views
1

请不要关闭此为重复的问题没有完全阅读它。硒的webdriver失去新窗口中的信息在IE中打开

场景:

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

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

总结驱动程序最初有一个新窗口被打开的知识,但不知何故在一秒钟左右,它失去了第二个窗口的细节,并说只有一个窗口存在。由于这个原因,切换到新窗口是不可能的。显然,在CHROME中工作正常,但这必须在IE上进行测试。

我的一段代码:

系统输出(driver.getWindowHandle()); //得到:[WINDOW_PARENT]

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

sysout(driver.getWindowHandles()); //给出:[WINDOW_PARENT,WINDOW_CHILD]

thread.sleep(1000);

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

-

上尝试:

IE-8/10/11- 32位

硒的Java - prettymuch尝试所有开始2.4

+0

你把所有的保护模式/增强保护每个文档正确的模式设置的第一件事情? –

+0

@Paut Abbott,感谢您的快速回复。我认为保护模式设置可能是一个原因。但由于我的组织有一些限制,我无法更改这些设置。我正在解决INTRODUCE_FLAKENESS_BY_IGNORING_SECURITY_DOMAINS问题。 –

回答

0

它的工作。 这只是IE上的保护模式设置。一旦我将其更改为对所有安全区域都一样,它完美运行。

之前未检测到多个窗口的原因是:由于点击链接和IE上的保护模式之间的时间间隔很短,

相信我,你们什么都问题,IE和硒,你应该检查是保护模式设置

相关问题