【发布时间】:2019-08-13 01:45:17
【问题描述】:
如何在 Selenium 中处理下面的 IE 弹出窗口
【问题讨论】:
-
您可以使用 geeksforgeeks.org/robot-class-java-awt 机器人类来处理此弹出窗口 - 请参阅该链接以获取更多信息。
标签: javascript java selenium internet-explorer onbeforeunload
如何在 Selenium 中处理下面的 IE 弹出窗口
【问题讨论】:
标签: javascript java selenium internet-explorer onbeforeunload
您可以尝试通过 selenium 接受警报。不确定您使用的是哪种语言,但以下 Java 方法应该会接受警报并让您继续您的生活。
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
}
}
您需要将 import org.openqa.selenium.Alert; 添加到您的导入中(如果您使用 Java,请再次添加)
【讨论】:
Internet Explorer 弹出窗口的文本为 您确定要离开此页面吗? 是 WindowEventHandlers.onbeforeunload 的结果 p>
WindowEventHandlers mixin 的onbeforeunload 属性是用于处理beforeunload 事件的EventHandler。这些事件在窗口即将使用unload 其资源时触发。此时,文档仍然可见,事件仍然可以取消。
有不同的策略可用于处理此弹出窗口。但是,作为跨浏览器解决方案,您可以禁用此对话框,调用executeScript() 将window.onbeforeunload 设置为function() {};,您可以使用以下解决方案:
((JavascriptExecutor)driver).executeScript("window.onbeforeunload = function() {};");
【讨论】: