How to Handle below IE Popup in Selenium
问题:
回答1:
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() {};");
回答2:
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)