繁体   English   中英

如何在使用java关闭selenium中的Windows警告框后切换到主窗口

[英]How to switch to main window after closing a windows alert box in selenium using java

我正在使用Selenium 3.7.1和firefox最新版本67.0.2,我实际上是在点击基于Windows的弹出窗口后切换回我的主页(使用AutoIT脚本单击Ok)。 但弹出窗口关闭后,我无法切换回第一个窗口(我...主页)。 总之,有两个窗户打开。

我使用下面的代码切换回主页而不关闭父窗口,因为我无法将控件恢复到父页面。 最近,在代码工作正常之前,我们在项目中进行了升级。

public void switchToNewWindow(int windowNumber) {
    Set<String> s = driver.getWindowHandles();
    Iterator<String> ite = s.iterator();
    int i = 1;
    while (ite.hasNext() && i < 10) {
        String popupHandle = ite.next().toString();
        driver.switchTo().window(popupHandle);
        System.out.println("Window title is : " + driver.getTitle());
        if (i == windowNumber)
            break;
        i++;
    }
}

我得到以下输出:

org.openqa.selenium.NoSuchWindowException:浏览上下文已被丢弃

供参考:

您可能不需要使用AutoIt您可以接受以下警告:

Alert alert = driver.switchTo().alert(); 

driver.switchTo().alert(); 

alert.accept();  

只需使用switchTo().defaultContent()

driver.switchTo().defaultContent();

希望这可以帮助!

String mainWindow = driver.getWindowHandle();

//here, your action to bring up a new window
driver.click    

for (String winHandle : driver.getWindowHandles()) {
        driver.switchTo().window(winHandle);
        if(!winHandle.equals(mainWindow)) {
            driver.close();
        }
}

//switch to main window
driver.switchTo().window(mainWindow);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM