C#中让WebBrowser运行Javascript脚本
C#中可以让Webbrowser运行Javascript脚本来实现各种自动化操作,比如点击网页上的按钮,输入用户名密码等等。代码也很简单:
>>>>>>>>>>>>>>>>>>>>方法一:
只需要先获取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;
C#中让WebBrowser运行Javascript脚本的更多相关文章
- robot framework笔记(一):环境配置(基于python3)+在pycharm中编写及运行robot脚本
(一)使用pip安装robotframework框架和seleniumlibrary库 pip install --upgrade robotframework pip install --upgra ...
- java ScriptEngine 使用 (支持JavaScript脚本,eval()函数等)
Java SE 6最引人注目的新功能之一就是内嵌了脚本支持.在默认情况下,Java SE 6只支持JavaScript,但这并不以为着Java SE 6只能支持JavaScript.在Java SE ...
- SpiderMonkey-让你的C++程序支持JavaScript脚本
译序 有些网友对为什么D2JSP能执行JavaScript脚本程序感到奇怪,因此我翻译了这篇文章,原文在这里.这篇教程手把手教你怎样利用SpiderMonkey创建一个能执行JavaScript脚本的 ...
- 使用C#解析并运行JavaScript代码
如果想在C#编程中解析并运行JavaScript代码,常见的方式有两种: 利用COM组件“Microsoft Script Control”,可参见:C#使用技巧之调用JS脚本方法一 利用JScrip ...
- 在WebBrowser中执行javascript脚本的几种方法整理(execScript/InvokeScript/NavigateScript) 附完整源码
[实例简介] 涵盖了几种常用的 webBrowser执行javascript的方法,详见示例截图以及代码 [实例截图] [核心代码] execScript方式: 1 2 3 4 5 6 7 8 9 1 ...
- VC与JavaScript交互(四) --- WebBrowser或CHtmlView中轻松屏蔽脚本错误(JavaScript)
1.什么是javascript脚本错误 1.1 概述 JavaScript脚本错误包含“运行时错误”和“语法错误”. 1.2 JavaScript“语法错误” JavaScript语法错误 ...
- 在C#中调用VBScript和JavaScript等脚本的实现
在C#中调用VBScript.JavaScript等脚本的实现 作者:郑佐 2004-04-26 以前在做工作流(workflow)项目的时候,里面有一项就是在用户制定流程定义时可以编写脚本来控制活动 ...
- 通过使用Web Workers,Web应用程序可以在独立于主线程的后台线程中,运行一个脚本操作。这样做的好处是可以在独立线程中执行费时的处理任务,从而允许主线程(通常是UI线程)不会因此被阻塞/放慢。
Web Workers API - Web API 接口参考 | MDNhttps://developer.mozilla.org/zh-CN/docs/Web/API/Web_Workers_API ...
- 如何安全地运行用户的 JavaScript 脚本
本文来自网易云社区,转载务必请注明出处. 有时候我们需要运行用户输入的 JavaScript 脚本(以下简称脚本).对于我们来说,这些脚本是不可信任的,如果在当前的 Context 中运行这些脚本,它 ...
随机推荐
- 腾讯微信被怼,iOS版微信不能打赏了
2017年4月19日,估计很多有着大量粉丝的微信自媒体作者会感到很不爽,因为他们的苹果粉丝再也无法很爽快地.肆意.任性地打赏他们了,按目前iphone手机的占有率,估计打赏率会掉一半以上. 据微信派微 ...
- while 循环,格式化输出,运算符(not,and,or)
一,while 循环 1. 循环. while循环 while 条件: 代码块(循环体) 执行流程: 1. 判断条件是否为真. 如果真. 执行代码块 2. 再次判断条件是否为真...... 3. 当条 ...
- Matplotlib模块
不求甚解,不断学习不断添加... 2017.10.26 1.绘制简单的图像 # 第一步创建显示画面,figure('show')指定图表名称 plt.figure('data') #绘制图像--> ...
- Python——列表深浅拷贝
一.深浅拷贝 如果希望将列表复制一份,通过列表的内置方法copy就可以实现: s = [[1,2],3,4] s1 = s.copy() print(s) print(s1) 拷贝出的列表s1与原列表 ...
- JAVA 操作mysql 存储 调用
HashMap map = new HashMap(); map.put("a", 9); map.put("b", ""); List&l ...
- 42.纯 CSS 创作一个均衡器 loader 动画
原文地址: https://segmentfault.com/a/1190000015157160 感想: 不难,最简单的动画.拓展地址: https://scrimba.com/c/cWqVv9hd ...
- nopcommerce 常用属性验证
Decimal可空:[UIHint("DecimalNullable")] datetime可空: [UIHint("DateTimeNullable")] i ...
- SPARK执行流程
RDD运行原理 1.创建 RDD 对象 2.DAGScheduler模块介入运算,计算RDD之间的依赖关系.RDD之间的依赖关系就形成了DAG 3.每一个JOB被分为多个Stage,划分Stage的一 ...
- FLEX中一组基于button的组件
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- python大法好——python的下载与安装、第一个程序
吃够了java的苦,所以python好. 打今天起,要走python了. 首先呢,学习python需要python环境.和一款得心应手的集成开发环境. python环境下载:https://mirro ...