网页外挂的总结
来源:互联网 发布:slam导航算法 编辑:程序博客网 时间:2024/06/10 01:59
我每天要重复着几乎一样的登录、点菜单、输入查询条件、得到查询数据,流程十分枯燥,所以想到了喜欢写点小程序的爱好,做一个自动化的工具,为自己放松放松。单位的系统是WS结构的,这个自动化的工具本质上就是一个网页外挂。经过了两个多月的摸索,学了不少新东西,这两天核心工作就可以结束,写个总结与大家分享。
原以为掌握了WebBrowser,就可以完成任务,没想随着工作的深入,做了两个月后,竟然要用到API,这可是我原来最头大的活儿,而且因为API有好多预定义的符号,在C#中没法直接用,要改成C#能够识别的数据类型,光处理这些数据类型就够让人烦躁的了。
一、我的指导思想
不想当黑客,只想把手工动作尽量自动化,我的工具只是充分利用工作系统的客户端提供给我的一切合法功能,不进行工作系统允许之外的任何尝试。因此我的工具与已有的工作系统可以看作是一具三层的结构:我的工具(客户层)——工作系统的客户端(应用服务层)——工作系统的服务端(数据服务层)
二、WebBrowser控件:
1.得到网页页面
HtmlDocument doc = WebBrowser1.Document;
2.填写表单
HtmlElement elem = doc.GetElementById("idname");
elem.SetAtrribute("Value","自动填写");
或者
elem.OuterText = "自动填写";
3.提交表单
doc.Forms["loginForm"].InvokeMember("submit");
……
(是两个星期前的经历了,先放一下)
三、API的使用:
WebBrowser其实已经提供了几乎所有的网页操作控制功能,从页面元素获取、操作,到访问框架页面下的子页面,再到页面的脚本执行——至少在我碰到的对页面的处理需求中还没有超出WebBrowser功能之外。不过对于弹出的新的网页窗口,WebBrowser就没有控制能力了,当无法避免弹出新网页窗口时,就只好先找到这个新窗口,再找到这个新窗口的页面对象,然后我们才能对这个页面进行操作了。而查找窗口及窗口中的控件这种功能就只有依靠API来完成了
首先,要找到窗口句柄(有三种左右的方法)
1.Process.GetProcessesByName() + Process[i].MainWindowHandle
2.FindWindow()
[DllImport("User32.dll", EntryPoint = "FindWindow")]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
……
public IntPtr 窗口句柄;
……
string 窗口名 = "你自己找——别告诉我你找不到";
窗口句柄 = FindWindow(null, 窗口名);
其次,通过窗口句柄取得网页页面的对象(IHTMLDocument2)
第1步:EnumChildWindows()+回调函数
第2步:RegistetWindowMessage()/SendMessageTimeout()/ObjectFromLresult()
第三,有了网页页面的对象,就可以根据自己的需要处理页面元素了
(先写这么多,具体代码待我完成后再补充)
有人问代码,花了点时间把相关代码提出,放到资源下载里——赚点下载用分,哈哈,别介意。
====不好意思,本人实在太懒,一直没更新,这次是程序运行出现了问题,在这做个记录========
在程序中我可以用下代码调用网页上的按钮功能
workWin = Document.Window.Frames["frame_button"] ;
workWin.Document.GetElementById("outpu").RaiseEvent("OnClick");
自动调用网页的按钮对象
- 网页外挂的总结
- 外挂接网页的方法
- 网页网游的外挂实现与分析 之 开心网外挂实现
- 分析QQ网页密码加密的方法,开发QQ外挂开心农场外挂
- 今天开始研究网页游戏外挂的做法!
- 输入输出外挂总结
- 输入输出外挂总结
- 关于网页的总结
- 游戏外挂编写学习总结
- 游戏外挂编写学习总结 .
- 外挂,想起就烦的外挂~~
- 网页外挂技术浅谈(入门篇)
- 网页游戏常见外挂原理及防御
- 网页游戏常见外挂原理及防御
- C#dC# 简单网页外挂实例
- 静态网页与动态网页的总结
- 游戏外挂的原理
- 游戏外挂的启示
- 加载飞信群成员(用.NET Reflector努力研究的成果)
- 谈谈大型高并发高负载网站的系统架构
- 把一个孩子养大需要多少钱?
- 排序算法小结
- [双语阅读]英国:金融业收入性别差距达80%
- 网页外挂的总结
- 流感集中爆发 flu outbreak
- 推荐一本小说《官场风流》
- 健康证 health certificate
- [双语阅读]09年9月9日为何成结婚吉日?
- [英语阅读]09/09/09的魔力何在?
- HTML控件之图片上传
- 开博第一篇
- MySQL 建表的优化策略