关闭网页上的对话框 window

Close dialog window on webpage

我需要在其他人的网页中触发一些操作。到目前为止我有这个代码:

IHTMLElementCollection DeleteCollection = 
    (IHTMLElementCollection)myDoc.getElementsByTagName("a");

foreach (HTMLAnchorElement buttonDelete in DeleteCollection){
    if (buttonDelete.title != null && buttonDelete.title.StartsWith("Delete")){
        buttonDelete.click();
            // problem goes here
        myDoc.activeElement.click(); 
        SendKeys.Send("{ENTER}");
    }
}

弹出此对话框:

我尝试了 myDoc.activeElement.click();SendKeys.Send("{ENTER}"); 但是对话框似乎超出了页面,所以我不知道如何触发 OK 按钮。如何关闭 window?

您不能以编程方式关闭浏览器对话框。您可以做的是劫持浏览器弹出行为。这可能对你有用:

window.confirm=function(){ return true; };
window.alert=function(){ return true; };
window.prompt=function(){ return "textOfMyChoice"; };

基本上,在单击您的按钮之前插入 javascript。如果您想稍后恢复弹出行为,请将它们存储在另一个全局变量中。

我想,您示例中的任何锚标记都有一个 javascript 本机确认对话框。 您不要以编程方式关闭此对话框。

但是您可以为所有锚元素更改 javascript,并用您自定义的 jQuery 对话框替换确认对话框。这样您就可以完全控制此对话框:关闭、隐藏、设置超时等。

转换

<a href="..." onclick="return confirm('are you sure?')" ... >...</a>

<a href="..." onclick="return openMyjQueryDialog('are you sure?')" ... >...</a>

因此,用户可以继续正常行为,您的脚本可以完全控制所有对话框元素。