Saravanan Seenivasan
Saravanan Seenivasan

Reputation: 149

How to handle below Internet Explorer popup "Are you sure you want to leave this page?" through Selenium

How to Handle below IE Popup in Selenium

enter image description here

Upvotes: 2

Views: 3601

Answers (3)

TesterABC
TesterABC

Reputation: 1226

For java, you can usee the following code,

    // Set the path to the ChromeDriver executable
    System.setProperty("webdriver.chrome.driver", "path_to_chromedriver");

    // Create ChromeOptions instance
    ChromeOptions options = new ChromeOptions();

    // Disable pop-ups
    options.addArguments("--disable-popup-blocking");

    // Create WebDriver instance
    WebDriver driver = new ChromeDriver(options);

    // Rest of your code...

Hope this helps. Thanks.

Upvotes: 0

undetected Selenium
undetected Selenium

Reputation: 193108

The Internet Explorer popup with text as Are you sure you want to leave this page? is the result of WindowEventHandlers.onbeforeunload


onbeforeunload

The onbeforeunload property of the WindowEventHandlers mixin is the EventHandler for processing beforeunload events. These events fire when a window is about to unload its resources. At this point, the document is still visible and the event is still cancelable.


Solution

There are different strategies available to handle this popup. However, as a Cross Browser solution, you can disable this dialog invoking the executeScript() to set window.onbeforeunload as function() {}; and you can use the following solution:

((JavascriptExecutor)driver).executeScript("window.onbeforeunload = function() {};");

You can find a relevant discussion in How to disable a “Reload site? Changes you made may not be saved” popup for (python) selenium tests in chrome?

Upvotes: 2

C. Peck
C. Peck

Reputation: 3717

You can try to accept the alert via selenium. Not sure what language you're using but the following Java method should accept the alert and let you move on with your life.

public void checkAlert() 
{
    try 
    {
        // Wait for the alert to show
        WebDriverWait wait = new WebDriverWait(driver, 2);
        wait.until(ExpectedConditions.alertIsPresent());

        driver.switchTo().alert().accept();

    } 
    catch (Exception e) 
    {
        //exception handling
    }
}

You'll want to add import org.openqa.selenium.Alert; to your imports (again if you're using Java)

Upvotes: 0

Related Questions