我正在尝试为一个使用onbeforeunload事件在用户离开之前提示用户的网页编写Selenium测试。然而,Selenium似乎无法识别出弹出的确认对话框,也没有提供方法来点击“确定”或“取消”。有没有什么方法可以解决这个问题?如果有关的话,我正在使用Java Selenium驱动程序。
我正在尝试为一个使用onbeforeunload事件在用户离开之前提示用户的网页编写Selenium测试。然而,Selenium似乎无法识别出弹出的确认对话框,也没有提供方法来点击“确定”或“取消”。有没有什么方法可以解决这个问题?如果有关的话,我正在使用Java Selenium驱动程序。
我刚刚为我的一个应用程序做了这件事情,其中onbeforeunload
处理程序会在文档处于未保存状态时,如果用户离开页面,则弹出提示。Python代码:
driver.switch_to.alert.accept()
driver.switchTo().alert().accept();
NoAlertPresentException
,因此在接受提示之前没有必要进行单独的存在性检查。window.onbeforeunload
设置为null
,然后离开页面。我将其放置在测试拆卸代码中。
js_eval "window.onbeforeunload=null"
的问题。(使用 Ruby 中的 selenium-client,但您应该能够轻松地将其翻译成其他语言) - Bryan Larsen