Javascript “如何接受”;此操作无法撤消。是否确实要删除此愿望列表;使用Selenium和Java弹出窗口
我需要单击浏览器通知的第一个按钮,该按钮在单击“删除愿望列表”按钮后出现。 此按钮如下所示Javascript “如何接受”;此操作无法撤消。是否确实要删除此愿望列表;使用Selenium和Java弹出窗口,javascript,java,selenium,selenium-webdriver,onbeforeunload,Javascript,Java,Selenium,Selenium Webdriver,Onbeforeunload,我需要单击浏览器通知的第一个按钮,该按钮在单击“删除愿望列表”按钮后出现。 此按钮如下所示 <a href="/account/wishlistupdate?mainAction=delete&wishlistId=2547474" class="btn btn-danger btn-sm" onclick="return confirm('This action cannot be undone. Are you sure you want to delete thi
<a href="/account/wishlistupdate?mainAction=delete&wishlistId=2547474" class="btn btn-danger btn-sm" onclick="return confirm('This action cannot be undone. Are you sure you want to delete this wishlist?')" style="" xpath="1">Delete wishlist</a>
如何管理此警报?这是一个
Javascript确认警报
,您可以通过切换到它,然后接受它来接受它:
driver.switchTo().alert().accept();
与单击取消
类似,您可以调用方法dismise()
此弹出窗口,文本如下
This action cannot be undone. Are you sure you want to delete this wishlist?
…是的onbeforeunload
属性的实现
在卸载之前
mixin的属性是用于处理事件的。当窗口即将释放其资源时,将触发这些事件。此时,文档仍然可见,事件仍然可以取消
解决方案
跨浏览器解决方案是禁用此对话框,调用executeScript()
setting window.onbeforeunload作为function(){}代码>,您可以使用以下解决方案:
driver.execute_script("window.onbeforeunload = function() {};")
您可以在中找到相关的讨论
在实际执行此代码之前,您可能需要等待它加载?尝试Thread.sleep(1000)代码>如果它工作,那么您可以应用selenium waitsany异常跟踪?不,它不会失败。它通过了,但点击“确定”按钮后的功能没有被应用。我刚刚为同一个网站创建了一个脚本,从愿望列表中删除,它似乎可以工作。你能共享代码吗?也许你做错了什么
driver.execute_script("window.onbeforeunload = function() {};")