我正在使用 IEdriver(32 位)、IE(安装版本 11)和 Selenium 3.3.1,下面是我用来切换到新窗口的代码。
String parentWin = driver.getWindowHandle();
click(By.cssSelector("#linkID_OpenNewWin"));
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
Set<String> winList = driver.getWindowHandles();
for (String winHandle : winList)
{
if (!winHandle.equals(parentWin))
{
driver.switchTo().window(winHandle); // switch focus of WebDriver to the next found window handle
}
}
当我尝试使用 IE 驱动程序执行上述代码时,它无法找到新打开的窗口,但是使用 Chrome 驱动程序它按预期执行并且所有窗口都得到处理。