收藏 分享(赏)

一种ShowModalDialog弹出窗口抓取技术及应用-论文.pdf

上传人:HR专家 文档编号:6610941 上传时间:2019-04-18 格式:PDF 页数:2 大小:148.99KB
下载 相关 举报
一种ShowModalDialog弹出窗口抓取技术及应用-论文.pdf_第1页
第1页 / 共2页
一种ShowModalDialog弹出窗口抓取技术及应用-论文.pdf_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

1、电脑编程技巧与维护 一种ShowModa1Dialog弹出窗口抓取技术及应用 孙长翔。陈秀国 (铜陵供电公司,安徽铜陵244000) 摘要:在ShowModalDialog弹出窗口抓取问题上,介绍了Web数据抓取技术,分析了Web数据抓取的原理,并重 点讨论了利用SPY+工具来实现ShowModalDialog弹出窗口中数据的抓取和处理。 关键词:Web数据抓取;SPY+十工具;showModalDialog弹出窗口 A Technology and Application of ShowModalDialog Popup Window Scraping SUN Chang-xiang,CHE

2、N Xiu-guo (Tongling Power supply Co,Anhui Tongling 244000,China) Abstract:In ShowModalDialog popup window scraping,this paper discusses Web Data scraping technology,analysis the principle of Web Data scraping,and focuses on how to use SPY+tool to achieve the data scraping and processing of Show Moda

3、lDialog popup window Key words:Web scraping;SPY+tool;ShowModalDialog popup window 1 引言 当今,信息化技术高速发展,企业中产生不同的业务系 统。有些系统业务逻辑繁琐,每天都需耗费大量的精力在系 统操作中,自动化处理操作就会显得尤其重要。 Web数据抓取(Web Scraping)是指从网站上提取信息的 一种计算机软件技术。Web数据抓取程序模拟浏览器的行为, 能将任何可以在浏览器上显示的数据提取出来,因此也称为 屏幕抓取fScreen Scraping)。 Web Scraping是一个使用计算机程序自动从目标

4、网页中摘 取某些数据进行相应处理的过程,整个过程不需要人工干预。 WebBrowser控件是一种基于组件对象模型fCOM1的软件 编程模块,它存在于NET命名控件SystemWindowsForms中, 可以用来支持浏览器功能的实际应用可以轻松地在Windows 窗体应用程序中嵌入一个浏览器来显示和操控网页。 c#编程语言提供了面向软件组件编程的完整支持对使 用组件对象模型的应用来说,访问得到了简化。通过使用Vi sual Studio C#开发工具可以将WebBrowser控件和Windows窗 体整合到同一个应用程序中。 2 Web Scraping的原理及MSHTML Web Scrap

5、ing程序在计算机网络通信的传输层,使用TCP 协议与Web服务器进行数据传输,在应用层使用HTTP协议 与服务器进行数据交互。它与服务器的通信过程和HTrP客户 端程序浏览器一致。 web Scraping程序从功能上可以划分为两大模块:HTrP 交互模块和HTML解析模块。对一个网页的抓取过程是:首 先H1TrP交互模块向服务器的Web端口发起TCP连接,连接 建立后,交互模块即可向Web服务器发送HTIP请求报文, 当HrrrP交互模块接收到服务器端的应答报文后,进行HTrP 包拆封,提取其中的HTML数据,然后将数据交由HTML解 析模块进行数据解析和提取。 微软公司的网页浏览器Int

6、emeet Explorer其实只是一个外 壳程序真正的浏览网页工作是由嵌入其窗口的封装在 shdocvwdll中的WebBrowser Control来完成的。调用mshtm1dll 来解析网页,mshtm1dll一方面处理HTML解析以及作为脚本 引擎,另一方面实现活动文档服务器接口允许应用程序以标 准的COM接口来把它嵌入到程序中并通过它暴露的接口来访 问其中的网页及网页元素。 图1 Web Scraping原理 MSHTML是微软公司的一个COM组件,该组件封装了 HTML语言中的所有元素及其属性,通过其提供的标准接口, 可以访问指定网页的所有元素。MSHTML提供了丰富的HTML 文

7、档接口,其中IHTMLDocument3是跟NET里的文档对象相 似的一个接口,提供封装了对HTML元素完整操作的IHTM LElement接口,通过IHTMLElement可以准确地判断HTML元 素节点的类型还可以获取HTML元素节点的所有属性。 3 ShowM0dalDialog弹出窗口抓取处理方案 ShowModalDialog不创建新的浏览器窗口,也不创建新的 浏览器对象。而是在WebBrowser的同一个线程中创建的窗 收稿日期:20140520 S0FrWARE DEVEL0PMENT AND DESIGN 软件开发与设计 口。当ShowModalDialog 0被调用后。浏览器

8、线程会创建一个 对话框,该对话框包含两个窗El,利用sPY+工具可以检测 出窗口的详细信息,父窗口的类名为“Intemet Explorer_Tri dentDlgFrame”,子窗口的类名为“Internet Explorer_Server” 该子窗口即为IE内核的窗口,可以通过给该窗口发送消息。 进行一些自动化操作(如按键、鼠标点击、自动填单等)。当 子窗口创建时,父窗口会收到消息,hwnd值即为父窗口的值, wVaralTl的值即为Internet Explorer_Server的窗口。捕获窗口后 就可以捕捉到IE内核窗口的句柄了。 利用WindowAPI函数FindWindow方法参数

9、lpClass Name为父窗口类名,lpWindowName为父窗口标题名。 【Dlllmport(”user32dll”)】 public static extem IntPtr FindWindow(string lpClassName, string lpWindowName); 当ShowModalDialog窗口弹出时,程序自动开启定时器 调用FindWindow方法进行窗口的捕获。 IntPtr hwnd=FindWindow r”Intemet ExplorerTridentD1- gFrame”,”通信管理系统一网页对话框”); 当程序捕获到父窗口时,调用FindWindow

10、Ex方法进行 hwnd子窗口的捕获。FindWindowEx方法其参数hwndParent为 父窗体句柄(即为上述hwnd),参数hwndChildAfter为下一个 子窗体句柄,参数lpszClass为子窗体类名,lpszWindow为子 窗体标题名。 Dlllmport C user32d11”)】 public static extern IntPFindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter,string lpszClass,string lpszWindow); 调用FindWindowEx方法形式为IntPtr hchil

11、d=FindWin dowEx(hwnd,IntPtrZero,”Intemet Explorer_Server”,String Empty); 当程序成功捕获到父窗体和子窗体时关闭定时器,接下 来程序的任务是对捕获到的窗口进行自动化操作。操作方案 利用MSHTML的调用,进行解析HTML元素,再进行HTML 内容的处理即是对窗体内部单据的填写和提交。操作处理 核心代码如下。 SystemObject document=new SystemObject 0: mshtm1IHIMLDocument3 htmlDoe=f mshtm1IHIAILDoeu- ment3)document; msh

12、tm1ITME1ement je_tq=htmlDocgetElementByld f” jejq”); mshtm1珊TMI E】ement je_wd=htmlDocgetElementByld r” je_wd”); je_tqsetAttribute(”value”,weather): je_wdsetAttribute(”value”,temparature); mshtrn1mTMLE1ement ok=htmlDoegetElementById fbt nOK”); okclick 0; 图2 showM0dalDiaIog弹出窗口抓取方案 4结语 介绍了Web数据抓取技术以及其

13、实现的原理。以及如何 利用c#进行ShowModalDialog窗体抓取及对窗体自动化操作 程序的开发。展示了Web数据抓取技术在web程序自动化操 作方面的优势,改善了频繁无谓的人工操作。 参考文献 【11希尔特C#40完全参考手册M李增民,等,译清 华大学出版社,2010 【2】曲德祥基于WebBrowser的网络热点信息获取技术研究 J信息技术与信息化,2011 【3WebBrowser获取页面jS弹出框内容 (上接第5页) 基础平台,以分会场的形式建立远程视频会议系统,使之并 入安徽省地震视频会议系统,在此基础上,实现与中国地震 局、各省局、地市局、台站以及地震现场的音视频联通,最 终

14、形成覆盖整个地震行业应急平台体系。 5结语 市级地震应急指挥中心技术系统是推进市级应急体系建 设的重要技术支撑,也是城市信息化建设的重要组成部分, 它的建设将进一步增强政府妥善处置重大地震灾害事件的应 急处置工作、指挥协调一般地震灾害事件应急处置工作的能 址 力,对进一步提高政府工作效能,转变政府工作方式,有力 保障各市经济社会的发展有着积极的推进作用。 参考文献 【1】潘丹,张洁,王伟,等安徽省新地震应急指挥中心建 设中国应急救援,2013,(4):4651 【2】陈星宇海南省防震减灾中心大楼的地震应急指挥技术系 统移植与集成华南地震,2011,31(2):117122 3兰陵,宋立军,周文新疆地震应急指挥技术系统介绍 内陆地震,2009,(2):226232

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报