切换到窗口不适用于chrome

时间:2017-09-04 11:02:05

标签: java google-chrome selenium selenium-webdriver

场景:点击图标按钮,将打开一个新窗口。

我使用以下代码:

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。

有关为什么会以这种方式表现的任何建议?

1 个答案:

答案 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