C#中可以让Webbrowser运行Javascript脚本来实现各种自动化操作,比如点击网页上的按钮,输入用户名密码等等。代码也很简单:

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

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

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

  1. HtmlElement ele = webBrowser1.Document.CreateElement(“script”);
  2. ele.SetAttribute(“type”, “text/javascript”);
  3. ele.SetAttribute(“text”, “someJavaScript”);
  4. webBrowser1.Document.Body.AppendChild(ele);

最后一句话执行之后会自动执行javascript

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

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

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

    1. webbrowser.ScriptErrorsSuppressed = true;

C#中让WebBrowser运行Javascript脚本的更多相关文章

  1. robot framework笔记(一):环境配置(基于python3)+在pycharm中编写及运行robot脚本

    (一)使用pip安装robotframework框架和seleniumlibrary库 pip install --upgrade robotframework pip install --upgra ...

  2. java ScriptEngine 使用 (支持JavaScript脚本,eval()函数等)

    Java SE 6最引人注目的新功能之一就是内嵌了脚本支持.在默认情况下,Java SE 6只支持JavaScript,但这并不以为着Java SE 6只能支持JavaScript.在Java SE ...

  3. SpiderMonkey-让你的C++程序支持JavaScript脚本

    译序 有些网友对为什么D2JSP能执行JavaScript脚本程序感到奇怪,因此我翻译了这篇文章,原文在这里.这篇教程手把手教你怎样利用SpiderMonkey创建一个能执行JavaScript脚本的 ...

  4. 使用C#解析并运行JavaScript代码

    如果想在C#编程中解析并运行JavaScript代码,常见的方式有两种: 利用COM组件“Microsoft Script Control”,可参见:C#使用技巧之调用JS脚本方法一 利用JScrip ...

  5. 在WebBrowser中执行javascript脚本的几种方法整理(execScript/InvokeScript/NavigateScript) 附完整源码

    [实例简介] 涵盖了几种常用的 webBrowser执行javascript的方法,详见示例截图以及代码 [实例截图] [核心代码] execScript方式: 1 2 3 4 5 6 7 8 9 1 ...

  6. VC与JavaScript交互(四) --- WebBrowser或CHtmlView中轻松屏蔽脚本错误(JavaScript)

    1.什么是javascript脚本错误 1.1    概述 JavaScript脚本错误包含“运行时错误”和“语法错误”. 1.2    JavaScript“语法错误” JavaScript语法错误 ...

  7. 在C#中调用VBScript和JavaScript等脚本的实现

    在C#中调用VBScript.JavaScript等脚本的实现 作者:郑佐 2004-04-26 以前在做工作流(workflow)项目的时候,里面有一项就是在用户制定流程定义时可以编写脚本来控制活动 ...

  8. 通过使用Web Workers,Web应用程序可以在独立于主线程的后台线程中,运行一个脚本操作。这样做的好处是可以在独立线程中执行费时的处理任务,从而允许主线程(通常是UI线程)不会因此被阻塞/放慢。

    Web Workers API - Web API 接口参考 | MDNhttps://developer.mozilla.org/zh-CN/docs/Web/API/Web_Workers_API ...

  9. 如何安全地运行用户的 JavaScript 脚本

    本文来自网易云社区,转载务必请注明出处. 有时候我们需要运行用户输入的 JavaScript 脚本(以下简称脚本).对于我们来说,这些脚本是不可信任的,如果在当前的 Context 中运行这些脚本,它 ...

随机推荐

  1. C# 自己动手实现Spy++(一)

    因为项目要用到获取其他程序的标题,就想到了用Spy++,但是它是一个工具,并没有C#的源代码,所以就想探索下他的原理,网上搜索了下spy++的源代码,找到了一篇:http://blog.csdn.ne ...

  2. edis 以及 Python操作Redis

    Redis 以及 Python操作Redis   Redis Redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis有以下特点: -- Redis支持数据的持 ...

  3. sshd_config

    1.sshd_config 选项不区分大小写,参数区分大小写. sshd_config选项及参数 选项 默认值 说明 AcceptEnv 不接受任何值   AddressFamily any any/ ...

  4. 笔记:pycharm 快捷键

    [重要]pyCharm的编码一个坑: 2017-10-18 在使用pyCharm4.5,调用库bs4爬取页面时,有报错如下: UnicodeEncodeError: 'gbk' codec can't ...

  5. 《算法》第四章部分程序 part 2

    ▶ 书中第四章部分程序,加上自己补充的代码,随机生成各类无向图 ● 随机生成无向图 package package01; import edu.princeton.cs.algs4.StdOut; i ...

  6. 电子书 VS 纸质书

    电子书, 或者网络上的博客,技术文章(最好是 一系列的, 完整的). 比起纸质书来说, 优势在于: 1 根据左部的目录快速定位 到自己想看的章节.通过PgDn PgUp 等键盘功能快速翻页 2 方便的 ...

  7. python 实例属性

    >>> class a(object): pass >>> o=a() >>> o.a='ok'#直接给实例添加属性,调用了__setattri_ ...

  8. 转载:python 的包导入

    python 包 多个关系密切的模块应该组织成一个包,以便于维护和使用.这项技术能有效避免名字空间冲突.创建一个名字为包名字的文件夹并在该文件夹下创建一个__init__.py 文件就定义了一个包.你 ...

  9. ubuntu16.04搭建geodjango+postgresql+postgis的WebGIS框架(二))安装postgresql和postgis

    卸载老版本sudo dpkg --purge postgis postgresql-9.3-postgis1.安装postgresql sudo apt-cache search postgresql ...

  10. shell脚本判断执行用户

    在脚本中,判断执行者是否为root. 判断方法1, #!/bin/bash if [ `whoami` != "root" ];then echo " only root ...