Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “如何接受”;此操作无法撤消。是否确实要删除此愿望列表;使用Selenium和Java弹出窗口_Javascript_Java_Selenium_Selenium Webdriver_Onbeforeunload - Fatal编程技术网

Javascript “如何接受”;此操作无法撤消。是否确实要删除此愿望列表;使用Selenium和Java弹出窗口

Javascript “如何接受”;此操作无法撤消。是否确实要删除此愿望列表;使用Selenium和Java弹出窗口,javascript,java,selenium,selenium-webdriver,onbeforeunload,Javascript,Java,Selenium,Selenium Webdriver,Onbeforeunload,我需要单击浏览器通知的第一个按钮,该按钮在单击“删除愿望列表”按钮后出现。 此按钮如下所示 <a href="/account/wishlistupdate?mainAction=delete&amp;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&amp;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() {};")