Driver.getWindowHandles() 在 Windows 10 上的 IE11 中总是返回 1,尽管有两个窗口打开
Posted
技术标签:
【中文标题】Driver.getWindowHandles() 在 Windows 10 上的 IE11 中总是返回 1,尽管有两个窗口打开【英文标题】:Driver.getWindowHandles() is always returning 1 in IE11 on Windows 10, although there are two windows open 【发布时间】:2017-03-02 01:38:43 【问题描述】:上下文代码:
Set<String> handles = driver.getWindowHandles();
String firstWinHandle = driver.getWindowHandle();
handles.remove(firstWinHandle);
String winHandle=handles.iterator().next();
if (winHandle!=firstWinHandle)
//To retrieve the handle of second window, extracting the handle which does not match to first window handle
String secondWinHandle=winHandle; //Storing handle of second window handle
//Switch control to new window
driver.switchTo().window(secondWinHandle);
此代码在 Windows 7 和 Windows 8.1 上的 IE11 上完美运行以切换到第二个窗口,但在 Windows 10 上不起作用。
在 Windows 10 的情况下,Java.util.NoSuchElement Exception
出现在行
String winHandle=handles.iterator().next();
使用的 Selenium 和 IE 版本是 2.53.1。
【问题讨论】:
你有解决办法吗? 【参考方案1】:我遇到了同样的问题。 在所有区域的 IE 设置中禁用保护模式会有所帮助。
【讨论】:
以上是关于Driver.getWindowHandles() 在 Windows 10 上的 IE11 中总是返回 1,尽管有两个窗口打开的主要内容,如果未能解决你的问题,请参考以下文章