java - Selenium WebDriver 丢失 IE 中打开的新窗口的信息

标签 java selenium internet-explorer

请不要在未完整阅读之前将其视为重复问题而忽略它。

场景:

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

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

总而言之,驾驶员最初知道打开了一个新窗口,但不知何故,在一秒钟左右的时间里,它丢失了第二个窗口的详细信息,并表示仅存在一个窗口。并且由于这个原因无法切换到新窗口。显然在 CHROME 中工作正常,但这必须在 IE 上进行测试。

我的代码:

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

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

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

线程.sleep(1000);

sysout(driver.getWindowHandles());//给出:[WINDOW_PARENT] -- child 丢失了

--

尝试过:

IE-8/10/11- 32 位

Selenium-java - 从 2.4 开始几乎尝试了所有

最佳答案

它成功了。 这只是 IE 上的保护模式设置。一旦我将其更改为所有安全区域都相同,它就完美地工作了。

在没有进行此更改的情况下早些时候检测到多个窗口的原因是:因为单击链接和 IE 上的保护模式发挥作用之间的时间间隔很短。

相信我,无论 IE 和 selenium 出现什么问题,您首先应该检查的是保护模式设置

关于java - Selenium WebDriver 丢失 IE 中打开的新窗口的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41557027/

相关文章:

javascript - IE11 HTML5 无法播放 MP3 文件

javascript - 检查用户是否使用 IE

java - 在java中使用公共(public)属性可以获得性能提升吗?

java - 如何查找动态下拉列表元素的网页元素位置?

Javascript Countdown 在 IE 和 Firefox 中显示 NaN,在 Chrome 中有效

python - 如何隐藏 Chromedriver 控制台窗口?

java - 使用 Selenium 捕获 404 错误

java - 使用泛型的泛型/系统架构的问题

Java找不到类项目的符号

java - 如何实现对象访问其他类对象的思想?