望穿秋水
管理&技术&业务 项目管理方面:加强通过工具辅助管理,构建Web项目管理系统来协助项目管理。技术开发方面:加强系统分析能力、架构设计能力,时刻把握新技术动态。业务方面:加强需求分析能力,使最终需求来源于客户又高于客户。
随笔 - 388,  文章 - 18,  评论 - 363

网上有好多解决方法,可是不一定好使,本人经过多次试验,针对WebBrowser控件中自动点击弹出框及禁用脚本提示问题得到如下几种实际情况的解决办法,绝对管用。

1、屏蔽弹出错误脚本

WebBrowser控件ScriptErrorsSuppressed设置为True即可。 (参考本篇博客:http://www.cnblogs.com/qqflying/archive/2012/07/25/2607881.html

2、页面一加载就有弹出框的自动点击(屏蔽)

private void webBrowser1_Navigated(object sender, WebBrowserNavigatedEventArgs e)
      {
          //自动点击弹出确认或弹出提示
          IHTMLDocument2 vDocument = (IHTMLDocument2)webBrowser1.Document.DomDocument;
          vDocument.parentWindow.execScript("function confirm(str){return true;} ""javascript"); //弹出确认
          vDocument.parentWindow.execScript("function alert(str){return true;} ""javaScript");//弹出提示
      }

3、WebBrowser页面加载完毕之后,在页面中进行一些自动化操作的时候弹出框的自动点击(屏蔽)

private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            //自动点击弹出确认或弹出提示
            IHTMLDocument2 vDocument = (IHTMLDocument2)webBrowser1.Document.DomDocument;
            vDocument.parentWindow.execScript("function confirm(str){return true;} ""javascript"); //弹出确认
            vDocument.parentWindow.execScript("function alert(str){return true;} ""javaScript");//弹出提示
//下面是你的执行操作代码
}

 

注意:一定要放到你的代码执行前面,这样有弹出框的时候才会自动点击,如果把这段代码放到你点击按钮之后,点击按钮弹出的提示框是自动点击不了的。放到前面即可实现点击按钮之后自动点击对话框提示的效果。

另外注意引用 using mshtml;命名控件。

posted on 2012-07-25 12:05  望穿秋水  阅读(13071)  评论(0编辑  收藏