繁体   English   中英

如何处理关闭页面上的“您确定要离开此页面”吗?

[英]How to handle 'Are you sure you want to navigate away from this page' on page close?

我有一个Web应用程序,该应用程序生成JS消息“您确定要离开此页面吗?” 当您尝试打开新页面时。 我知道我可以通过以下方式处理此消息

Selenium.getAlert();

(或对其进行一些修改,我还没有尝试过)

但是我的主要问题是仅当我离开此页面时才会生成此消息。 在硒中,我可以通过使用

Selenium.open("new address");

要么

Selenium.back();

所以我用这样的代码

Selenium.open("new address");
Selenium.getAlert();

但是问题在于Selenium.open直到新页面完全加载后才完成并进入程序的下一个代码行,但是直到程序进入下一个代码行并处理此警报后才能加载页面。 所以这是一个受阻的情况,我不知道该如何处理。

我认为这不可能完成,完全停留在Selenium RC API中。 我有类似的情况,可以通过在open()之前启动AutoIt脚本来处理,该脚本等待提示并回答它。 那只能在Windows上使用,但是如果您需要其他系统用的东西,那么我肯定有等效的工具。

Selenium始终在页面加载过程中出现警报和确认问题(这是-确认具有“确定” /“取消”选择)。 错误消息之一中甚至包含一个古老的错误号,该错误号解释了该错误号无法捕获它们。

我不知道这是否行得通,但这是一个主意。 您可以尝试类似:

try {
    driver.manage().timeouts().implicitlyWait(1, TimeUnit.SECONDS);
    Selenium.open("new address");
} catch (Exception e) {
    // Should throw after 1 second
}

// Now we may be able to interact with the alert.
Selenium.getAlert();

采用:

openAndWait(..)

也许这另一个SO问题将对您有所帮助。

暂无
暂无

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

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