精华内容
下载资源
问答
  • C#中让WebBrowser运行Javascript脚本
    2020-06-29 12:04:28

    C#中可以让Webbrowser运行Javascript脚本来实现各种自动化操作,比如点击网页上的按钮,输入用户名密码等等。代码也很简单:
    1,先加载页面链接 http://www.cheredu.com
    webBrowser1.Navigate("http://www.cheredu.com");


    =========>>>方法一:
    只需要先获取HtmlElement,然后对获取的element进行操作即可,比如:

                HtmlElement btn = webBrowser1.Document.GetElementById(“aBtn”);
                if (btn != null)
                    btn.InvokeMember(“click”);

    =========>>>方法二:
    给页面注入javascript代码:

    HtmlElement ele = webBrowser1.Document.CreateElement(“script”);
    ele.SetAttribute(“type”, “text/javascript”);
    ele.SetAttribute(“text”, “someJavaScript”);
    webBrowser1.Document.Body.AppendChild(ele);
    最后一句话执行之后会自动执行javascript


    =========>>>方法三:
    运行页面中已经有的脚本:

    webBrowser1.Document.InvokeScript(“someInPageJavaFunction”, null);

    =========>>>另外:
    另外webbrowser中加载网页,如果遇到脚本错误的话,默认会弹出对话框,这有时候比较烦人,不过可以关闭之:

    webbrowser.ScriptErrorsSuppressed = true;

    更多相关内容
  • 涵盖了几种常用的 webBrowser执行javascript的方法, execScript方式: NavigateScript方式: 其中需要作如下设置 由于visual studio2005 中WebBrowser控件已经实现了IDocHostUIHandler,所以 只要把应用程序属性类的...
  • C# webbrowser控件执行js脚本源码

    热门讨论 2009-10-13 18:23:02
    找了好久才找到的,不容易啊。呵呵 找了好久才找到的,不容易啊。呵呵 找了好久才找到的,不容易啊。呵呵 找了好久才找到的,不容易啊。呵呵 找了好久才找到的,不容易啊。呵呵
  • 本篇文章是对C#WebBrowser的DocumentCompleted事件不执行解决方法进行了详细的分析介绍,需要的朋友参考下
  • 在实际应用中我们可能需要WebBrowser控件主动执行我们需要的脚本执行脚本现在有两种方法。 1、WebBrowser控件加载脚本,简单方便,适用于简短的脚本,无法执行复杂操作。 webBrowser.Navigate("javascript:...

    在实际应用中我们可能需要WebBrowser控件主动执行我们需要的脚本,执行脚本现在有两种方法。

    1、WebBrowser控件加载脚本,简单方便,适用于简短的脚本,无法执行复杂操作。

    webBrowser.Navigate("javascript:editor.areaToFrame();document.getElementById('articlePostBtn').click();");

    相当于你在浏览器地址栏,直接输入脚本来执行。

     

    2、使用微软提供的动态库,也就是Microsoft.mshtml.dll。

    //引入命名空间
    using mshtml;
    
    //获得dom对象
    IHTMLDocument2 Doc2 = (IHTMLDocument2)webBrowser.Document.DomDocument;
    
    //执行脚本
    Doc2.parentWindow.execScript(js, "JavaScript");

    在添加引用时,可能有找不到该程序集的情况,这时,直须百度下载得到。请记住唯一名称“Microsoft.mshtml.dll”。

     

    博主小站,关注IT人养生健康。好人难做网

     

    转载于:https://www.cnblogs.com/archip/p/3902616.html

    展开全文
  • 我们在用webBrowser编写的程序打开网页,遇到脚本有问题是,会弹出一个错误提示框,需要确认后才能够进行执行。如果我们设计的程序是用来自动处理网页的,那么在出现这种情况时,程序运行被打断,需要人工干预。这...

    IE浏览器遇到脚本错误时,在浏览器左下角会出现一个黄色图标,点击可以查看脚本错误的详细信息,并不会有弹出的错误信息框。我们在用webBrowser编写的程序打开网页,遇到脚本有问题是,会弹出一个错误提示框,需要确认后才能够进行执行。如果我们设计的程序是用来自动处理网页的,那么在出现这种情况时,程序运行被打断,需要人工干预。这显然无法达到我们的要求。
    那么,在使用webBrowser打开网页遇到脚本错误时如何处理才能让程序无干扰的自动运行呢?
    webBrowser给我们提供了一个属性:ScriptErrorsSuppressed 。当不想再遇到脚本错误时弹出错误提示框,可以将该值设为TRUE。

    webBrowser1.ScriptErrorsSuppressed = true;
    

    ScriptErrorsSuppressed 属性的具体的用法如下:

    将此属性设置为 false 可调试显示在 WebBrowser 控件中的网页。如果要使用该控件向应用程序添加基于 Web 的控件和脚本代码,则此属性十分有用。如果将该控件用作泛型浏览器,则此属性用处不大。完成应用程序的调试后,将此属性设置为 true 以取消显示脚本错误。

    注意:当 ScriptErrorsSuppressed 设置为 true 时,WebBrowser 控件将隐藏其源自基础 ActiveX 控件的所有对话框,而不仅仅是脚本错误。有时,在显示某些对话框(例如,用于浏览器安全设置和用户登录的对话框)时,可能需要取消显示脚本错误。在这种情况下,应将 ScriptErrorsSuppressed 设置为 false,并在 HtmlWindow.Error 事件的处理程序中取消显示脚本错误。

    这种做法的负作用如上面红字描述的,如果只想屏蔽脚本错误,可以用以下方法:

    下面的代码演示如何在不取消显示其他对话框的情况下取消显示脚本错误。在此示例中,将 ScriptErrorsSuppressed 属性设置为 false 以确保显示对话框。HtmlWindow.Error 事件的处理程序取消显示该错误。只有在文档已完成加载时才能访问此事件,因此该处理程序被附加到 DocumentCompleted 事件处理程序中。
    view plaincopy to clipboardprint?
    // 仅隐藏脚本错误,其他错误照样提示

    private void SuppressScriptErrorsOnly(WebBrowser browser)
    {
    // 确信 ScriptErrorsSuppressed 设为 false.
    browser.ScriptErrorsSuppressed = false;
    
    // 处理 DocumentCompleted 事件以访问 Document 对象.    
    browser.DocumentCompleted +=    
        new WebBrowserDocumentCompletedEventHandler(    
            browser_DocumentCompleted);     
    }
    
    private void browser_DocumentCompleted(object sender,
    WebBrowserDocumentCompletedEventArgs e)
    {
    ((WebBrowser)sender).Document.Window.Error +=
    new HtmlElementErrorEventHandler(Window_Error);
    }
    
    private void Window_Error(object sender,
    HtmlElementErrorEventArgs e)
    {
    // 忽略该错误并抑制错误对话框
    e.Handled = true;
    }
    

    转载至:
    https://blog.csdn.net/zuoyefeng1990/article/details/79784900

    展开全文
  • 我们在用webBrowser编写的程序打开网页,遇到脚本有问题是,会弹出一个错误提示框,需要确认后才能够进行执行。如果我们设计的程序是用来自动处理网页的,那么在出现这种情况时,程序运行被打断,需要人工干预。这...

    当IE浏览器遇到脚本错误时,在浏览器左下角会出现一个黄色图标,点击可以查看脚本错误的详细信息,并不会有弹出的错误信息框。我们在用webBrowser编写的程序打开网页,遇到脚本有问题是,会弹出一个错误提示框,需要确认后才能够进行执行。如果我们设计的程序是用来自动处理网页的,那么在出现这种情况时,程序运行被打断,需要人工干预。这显然无法达到我们的要求。
    那么,在使用webBrowser打开网页遇到脚本错误时如何处理才能让程序无干扰的自动运行呢?

      webBrowser给我们提供了一个属性:ScriptErrorsSuppressed 。当不想再遇到脚本错误时弹出错误提示框,可以将该值设为TRUE。
    
      webBrowser1.ScriptErrorsSuppressed = true;
    
      ScriptErrorsSuppressed 属性的具体的用法如下:
    
      将此属性设置为 false 可调试显示在 WebBrowser 控件中的网页。如果要使用该控件向应用程序添加基于 Web 的控件和脚本代码,则此属性十分有用。如果将该控件用作泛型浏览器,则此属性用处不大。完成应用程序的调试后,将此属性设置为 true 以取消显示脚本错误。
    
      注意:当 ScriptErrorsSuppressed 设置为 true 时,WebBrowser 控件将隐藏其源自基础 ActiveX 控件的所有对话框,而不仅仅是脚本错误。有时,在显示某些对话框(例如,用于浏览器安全设置和用户登录的对话框)时,可能需要取消显示脚本错误。在这种情况下,应将 ScriptErrorsSuppressed 设置为 false,并在 HtmlWindow.Error 事件的处理程序中取消显示脚本错误。
    
      这种做法的负作用如上面红字描述的,如果只想屏蔽脚本错误,可以用以下方法:
    
      下面的代码演示如何在不取消显示其他对话框的情况下取消显示脚本错误。在此示例中,将 ScriptErrorsSuppressed 属性设置为 false 以确保显示对话框。HtmlWindow.Error 事件的处理程序取消显示该错误。只有在文档已完成加载时才能访问此事件,因此该处理程序被附加到 DocumentCompleted 事件处理程序中。
    

    view plaincopy to clipboardprint?
    // 仅隐藏脚本错误,其他错误照样提示

    private void SuppressScriptErrorsOnly(WebBrowser browser)
    {
    // 确信 ScriptErrorsSuppressed 设为 false.
    browser.ScriptErrorsSuppressed = false;

    // 处理 DocumentCompleted 事件以访问 Document 对象.    
    browser.DocumentCompleted +=    
        new WebBrowserDocumentCompletedEventHandler(    
            browser_DocumentCompleted);    
    

    }

    private void browser_DocumentCompleted(object sender,
    WebBrowserDocumentCompletedEventArgs e)
    {
    ((WebBrowser)sender).Document.Window.Error +=
    new HtmlElementErrorEventHandler(Window_Error);
    }

    private void Window_Error(object sender,
    HtmlElementErrorEventArgs e)
    {
    // 忽略该错误并抑制错误对话框
    e.Handled = true;
    }

    展开全文
  • C# webbrowser捕获错误页面实例类

    热门讨论 2013-05-24 18:01:27
    C# webbrowser捕获错误页面实例类,捕获404 402 403 500 505 502 和断网-2146697211
  • 当我们使用WebBrowser控件时有错误信息框弹出,这样程序显的很不友好,而且会让一些自动执行的程序暂停。我看到有人采取的解决方案是做一个窗体杀手程序来关闭弹出的窗体。今天探讨的方法是从控件解决问题。1、...
  • //跳过脚本错误提示 } 4,双击按钮添加代码,调用WebBrowser控件的Navigate方法实现显示不同网页 private void button1_Click(object sender, EventArgs e) { webBrowser1.Navigate("网址"); } 5,实现点链接...
  • 当我们使用WebBrowser控件时有错误信息框弹出,这样程序显的很不友好,而且会让一些自动执行的程序暂停。我看到有人采取的解决方案是做一个窗体杀手程序来关闭弹出的窗体。本文探讨的方法是从控件解决问题。
  • 当我们使用WebBrowser控件时有错误信息框弹出,这样程序显的很不友好,而且会让一些自动执行的程序暂停。我看到有人采取的解决方案是做一个窗体杀手程序来关闭弹出的窗体。今天探讨的方法是从控件解决问题。1、...
  • 主要介绍了WinForm开发中屏蔽WebBrowser脚本错误提示的方法,在C#项目开发中比较实用,需要的朋友可以参考下
  • 2.C#windows窗体应用webbrowser控件里网页js调用C#窗体的函数 首先需要在代码里面加上 [System.Runtime.InteropServices.ComVisibleAttribute(true)] public partial class Form1 : Form { ...
  • webBrowser1.Document.Window.Document.InvokeScript("CustomScript", new string[] { param });IHTMLWindow2 win = (IHTMLWindow2)this.webBrowser1.Document.Window.DomWindow; string script1
  • WebBrowser控件(WPF和WinForms的版本)中的行为不同于IE完全多方面的。 您可能要实现功能控制带来其行为尽量接近IE越好(特别是FEATURE_BROWSER_EMULATION ),这通常可以解决脚本的兼容性问题。 下面是一些代码,请...
  • C#WebBrowser 提示JS脚本错误】

    千次阅读 2014-12-02 10:06:07
    问题:在IE浏览器可以正常显示的网页,用WebBrowser打开,弹出 脚本错误窗口。 问题分析:WebBrowser用的虽然是IE内核,但是WebBrowser默认的IE版本(好像是IE7)和计算机当前的IE浏览器的版本不相同。 解决办法1:...
  • 在使用webBrowser控件时,访问网页会弹出JS脚本错误提示如下: 解决方法: 在webBrowser的DocumentCompleted事件中加上以下代码: //屏蔽网页JS脚本错误弹窗 webBrowser1.ScriptErrorsSuppressed = true;
  • 还是处理视频下载所相关的问题。...c#中,我用WebBrowser这个控件处理。设置项目类型为控制台程序,加Form承载WebBrowser实现。 记录代码以做备忘: using System; using System.IO; using System.Net; using Syst...
  • C# 使用WebBrowser控件打开一个URL时发生脚本错误,ScriptErrorSuppressed 值已设置为True,仍有脚本错误显示 对象不支持“SetData”的属性或方法,网页加载为空白项(但是网页可以用IE浏览器能打开),求解!
  • 今天为了应对一个工作中遇到的场景,研究了下使用.NET中自带的WebBrowser时内部的JS代码与外部的C#代码相互调用的问题我的操作系统为Win7旗舰版,IDE版本为VS2012,.NET版本为4.5经过测试我得出了如下几个结论:(C#...
  • C#中的WebBrowser控件加载ActiveX插件 C#WebBrowser控件,将项目输入更改为x86输出,在页面打开时即可自动加载ActiveX控件 C#中利用WebBrowser控件,获得HTML源码 最近获得网页的几个老程序都不能用了. 我原来用 ...
  • 主要介绍了C#webBrowser写模拟器时的javascript脚本调用问题,需要的朋友可以参考下
  • 适用于VS2010及以上版本,实现MFC/C++和百度地图控件Webbrowser相互调用问题,上传资源中解决odbccp32.lib报错问题,及脚本报错问题。具体开发可见百度SDK:https://lbsyun.baidu.com/index.php?title=jspopular
  • webBrowser1.Document.All["控件ID"].InnerText; 或webBrowser1.Document.GetElementById("控件ID").InnerText; 或webBrowser1.Document.GetElementById("控件ID").GetAttribute("value"); 2、获取input控件的值...
  • c# WebBrowser脚本错误

    2014-04-12 11:17:21
    简单解决: webBrowser1.ScriptErrorsSuppressed = true;
  • 但发现报脚本错误,无论点击“是”或“否”,都无法访问相关功能,导致无法正常访问,而浏览器访问却无此问题。网上百度,说WebBrowser的工作模式并不是本机安装的IE正常模式,而是工作在保护模式,要想工作在本机IE...
  • c# winform程序 webBrowser 当前页面的脚本发生错误 找不到成员本帖最后由 yz2653410 于 2014-01-11 21:03:25 编辑以下为页面代码usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,937
精华内容 774
关键字:

c#webbrowser执行脚本

c# 订阅