? 用H1:=findwindow(nil,'某网页标题')后,如何遍历该网页窗口内的所有控件,然后对各控件发送消息? (gyhong )
解决方案 »
- XMLDocument的问题,偶尔访问出错,百思不得其解。
- DxDBGrid数据导出到EXCEL中时,怎么定义某一列的自定义格式?
- 图片透明的问题,来看看!
- table 中的filter問題----過濾掉為空的數據實現﹖
- 在线等待!!!急急....如何用OLE操作EXCEL???
- 怎样得到当前光标在SCREEN的物理位置。X 。Y
- 求一函数,在个字符串插入N个同一字符.
- 将查询到的数据库中的一段记录插入另一数据库表,Tquery执行报错!全天在线。
- 请各位高手给入门者指路
- error loading midas.dll 如何解决?
- 关于RasCreatePhonebookEntry
- 如何更改可执行文件图标-----不需要在运行的时候修改,只要用程序修改既可以了。
网页文档的接口为IHTMLDocument2,可以通过调用IE COM对象的get_Document方法来得到网页
的接口。使用如下的语句:hr = m_sp WebBrowser2->get_Document(&
spDisp);CComQIPtr<IHTMLDocument2,&ⅡD_IHTMLDocume nt2> spHTM
L;spHTML = spDisp;
这样我们就得到了网页对象的接口,然后我们就可以对网页进行
分析,比如通过IHTM LDocument2提供的方法get_URL可以得到和该网
页相关的URL的地址值,通过get_forms方法可以得到该网页中所有的F
orm对象的集合。
实际上W3C组织已经制定了一个DOM(Document Objec Model)标准
,当然这个标准不仅仅是针对HTML,同时还是针对XML制定的。W3C组织
只是定义了网页对象的接口,不同的公司可以采用不同的语言和方法
进行具体的实现。按照W3C组织定义的网页对象被认为是动态的,即用
户可以动态对网页对象里面所包含的每一个对象进行操作。这里的对
象可以是指一个输入框,也可以是图像和声音等对象。同时按照W3C的
正式文档的说明,网页对象是可以动态增加和删除的。事实上,很少有
厂商实现了DOM定义的所有功能。微软对网页对象的定义也基本上是
按照这个标准实现的。但是当前的接口还不支持动态增加和删除元素
,但是可以对网页中的基本元素进行属性的修改。比如IHTMLElementC
ollection表示网页中一些基本的元素的集合,IHTMLElement表示网页
中的一个基本的元素。而像IHTMLOp tionElement接口就表示一个特
定的元素Option。基本的元素都有setAttribute和geAtt ribute方法
来动态设置和得到元素的名称和值。
较为常见的一个应用是我们能够分析网页中是否有需要填写的Fo
rms,如果这个网址的Forms以前已经填写过而且数据已经保存下来的
话,就可以把数据自动放到和该URL下的Forms的相关的位置中去。另
外,可以总结网页上需要填写的Form的数据项,先对这些数据项进行赋
值,以后碰到有相同的数据项的时候就自动把赋值的内容填写进去。
实际上For m是对象,Form中包含的元素,比如INPUT、OPTION、SELECT
等类型的输入元素都是对象。