我在Mac机器上的safari浏览器上执行我们的Selenium测试时遇到问题

时间:2018-06-08 05:50:54

标签: macos selenium safaridriver

我们在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

1 个答案:

答案 0 :(得分: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);
        }
    }