我有一个Web应用程序,它生成一条JS消息 “你确定要离开这个页面吗?”当您尝试打开新页面时。 我知道我可以通过
处理这条消息Selenium.getAlert();
(或者对它进行了一些修改,我还没有尝试过)
但我的主要问题是,只有当我离开此页面时才会生成此消息。 在selenium我可以使用
离开页面Selenium.open("new address");
或
Selenium.back();
所以我使用这样的代码
Selenium.open("new address");
Selenium.getAlert();
但问题是Selenium.open没有完成并转到程序中的下一个代码行,直到新页面完全加载,但是在程序进入下一个代码行并处理此警报之前无法加载页面。所以它已经陷入困境,我不知道如何处理它。
答案 0 :(得分:1)
我不认为可以完成,完全保留在Selenium RC API中。我有类似的情况,通过在open()
之前启动AutoIt脚本来处理,等待提示并回答它。这仅适用于Windows,但如果您需要其他系统的东西,我相信有相同的工具。
Selenium一直存在警报和确认问题(这是 - 确认有一个确定/取消选择)在页面加载时发生。在其中一条错误消息中甚至还有一个古老的错误号,它解释了它无法捕获它们。
答案 1 :(得分:0)
答案 2 :(得分:0)
我不知道这是否有效,但这是一个想法。你可以尝试类似的东西:
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();