场景:点击图标按钮,将打开一个新窗口。
我使用以下代码:
String strNewWindowTitle = "New Window";
Set<String> winHandles = webDriver.getWindowHandles();
Iterator<String> it = winHandles.iterator();
String strcurrentWinHandle = null;
int counter = 0;
while (it.hasNext())
{
strcurrentWinHandle = it.next();
counter++;
webDriver.switchTo().window(strcurrentWinHandle);
while (!webDriver.getTitle().equals(strNewWindowTitle))
{
strcurrentWinHandle = it.next();
counter++;
webDriver.switchTo().window(strcurrentWinHandle);
}
}
我在Chrome v60.0.3112
上执行此操作,点击按钮后窗口不会停留在屏幕上。该代码适用于Firefox。
有关为什么会以这种方式表现的任何建议?
答案 0 :(得分:0)
执行单击后,您可以尝试使用此代码。只需要两个窗口就不需要while循环。事实上,即使有两个以上的窗户也没有必要。
Set <String> ids = driver.getWindowHandles();
Iterator <String> it = ids.iterator();
String currentWindow = it.next();
String newlyOpenedWindow = it.next();
driver.switchTo().window(newlyOpenedWindow);
//do your operations on the new window here
driver.switchTo().window(currentWindow);// if you want to get back to the previous window