0

我们在切换到 safari 浏览器的新窗口时遇到问题。下面是我们用于切换窗口的代码。

public void switchToWindow() {
        Set<String> availableWindows = driver.getWindowHandles();
        for (String strWinHandle : availableWindows) {
            driver.switchTo().window(strWinHandle);
        }
    }

在availableWindows中,它返回所有窗口句柄,但不是切换到新窗口,而是切换到父窗口。上面的代码在所有其他浏览器上都可以正常工作。

Selenium 版本 - 3.11.0 Safari 版本 - 11.1.1

4

1 回答 1

0

你可以试试下面的代码。

public void switchToWindow() {
       String curWinHandle = driver.getWindowHandle();
        Set<String> availableWindows = driver.getWindowHandles();
        for (String strWinHandle : availableWindows) {
            if(!curWinHandle.equals(strWinHandle))
               driver.switchTo().window(strWinHandle);
        }
    }
于 2018-06-08T06:07:20.733 回答