c# webkit 模拟点击
2015-06-07 01:10
253 查看
前些天想用PHPsocket做一个网站的自动登录和数据采集,却发现这个网站用HTML5编写,数据存储用localstorage,PHP暂时找不到localstorage的数据提交方法,想用C#
前些天想用PHP socket做一个网站的自动登录和数据采集,却发现这个网站用HTML5编写,数据存储用localstorage,PHP暂时找不到localstorage的数据提交方法,想用C#实现,却发现C#自带的webBrowser是调用IE的核心,IE是不支持localstorage的。只有找C#的第三方浏览器插件,刚开始用GeckoFx,发现GeckoFx的文档太少了,又没更新,最后找到webKit,文档一样是少得可怜,相关实例在网上只找到一二个有参考价值的。下面是我要用C# + webkit实现的功能。
c#调用webKitBrowser浏览器打开网址,加载完成后,模拟点击网址页面上的一个
事件。
以下代码在WebKit.NET-0.5,VS2010环境下测试成功。
c#
webKitBrowser1.StringByEvaluatingJavaScriptFromString(“document.getElementById(‘youidname’).click()”);
这种方法实现模拟点击有问题,只能实现input的点击,,想模拟div或a标签点击会提示”对 COM 组件的调用返回了错误 HRESULT E_FAIL。”
用下面的方法没有问题
webKitBrowser1.StringByEvaluatingJavaScriptFromString(“var _elm = document.getElementById(‘youidname’);var _evt = document.createEvent(‘MouseEvents’);_evt.initEvent(‘click’, true, true);_elm.dispatchEvent(_evt);”);
另外C#运行页面的JS方法可以这样
webKitBrowser1.Document.InvokeScriptMethod(“add_div”); //add_div是JS的方法名称
本文出自 “jfk” 博客,请务必保留此出处
前些天想用PHP socket做一个网站的自动登录和数据采集,却发现这个网站用HTML5编写,数据存储用localstorage,PHP暂时找不到localstorage的数据提交方法,想用C#实现,却发现C#自带的webBrowser是调用IE的核心,IE是不支持localstorage的。只有找C#的第三方浏览器插件,刚开始用GeckoFx,发现GeckoFx的文档太少了,又没更新,最后找到webKit,文档一样是少得可怜,相关实例在网上只找到一二个有参考价值的。下面是我要用C# + webkit实现的功能。
c#调用webKitBrowser浏览器打开网址,加载完成后,模拟点击网址页面上的一个
事件。
以下代码在WebKit.NET-0.5,VS2010环境下测试成功。
c#
webKitBrowser1.StringByEvaluatingJavaScriptFromString(“document.getElementById(‘youidname’).click()”);
这种方法实现模拟点击有问题,只能实现input的点击,,想模拟div或a标签点击会提示”对 COM 组件的调用返回了错误 HRESULT E_FAIL。”
用下面的方法没有问题
webKitBrowser1.StringByEvaluatingJavaScriptFromString(“var _elm = document.getElementById(‘youidname’);var _evt = document.createEvent(‘MouseEvents’);_evt.initEvent(‘click’, true, true);_elm.dispatchEvent(_evt);”);
另外C#运行页面的JS方法可以这样
webKitBrowser1.Document.InvokeScriptMethod(“add_div”); //add_div是JS的方法名称
本文出自 “jfk” 博客,请务必保留此出处
相关文章推荐
- C#学习笔记(二)
- C# 判断字符串为空大全
- C#将DataTable转化为List<T>
- C# Serializable
- [C#]窗体切换--避免开启多个线程
- C# - 正则表达式
- C#高级编程第二天
- C#导入Excel
- 探索C#之布隆过滤器(Bloom filter)
- C#高级编程第一天
- <转载>C#IEnumerable和IEnumerator 详解
- C# 控制台程序 托盘图标 事件响应
- 委托和接口
- C#MVC的基础知识
- C#中的匿名方法实例解析
- C#读取注册表信息
- C#自动登录一个特定的页面
- C# 如何读取被其他进程占用的文件
- C# 控制台窗口的显示与隐藏
- C# WPF Win7 标题栏添加按钮(模拟)