zoukankan      html  css  js  c++  java
  • 经验总结:WebBrowser自动点击弹出提示框alert、弹出对话框confirm、屏蔽弹出框、屏蔽弹出脚本错误的解决办法

    网上有好多解决方法,可是不一定好使,本人经过多次试验,针对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;命名控件。

  • 相关阅读:
    extern “C”的作用详解
    const和typedef的常见用法详解
    虚函数、纯虚函数、虚函数与析构函数
    C++中四种类型转换方式
    面经中高频知识点归纳(一)
    leetcode Database4
    32位机和64位机下面各类型sizeof的大小
    Spring框架针对dao层的jdbcTemplate操作crud之query查询数据操作
    字符串变量的定义与引用
    使用字符数组及相关函数,求3个国家名中字母顺序排在最前面的国家。
  • 原文地址:https://www.cnblogs.com/qqflying/p/2608038.html
Copyright © 2011-2022 走看看