簡體   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