能力值:
( LV8,RANK:130 )
2 楼
在我们编写的程序中,如果想要实现对浏览器打开的网页进行监视、模拟操纵、动态提取用户输入、动态修改......等功能,那么请你抽出宝贵的时间,继续往下阅读。本文介绍的知识和示例程序都是围绕如何遍历 HTML 中的表单(form)并枚举出表单域的属性为目标的,对于网页中的其它元素,比如图象、连接、脚本等等,应用同样的方法都可以轻松实现。
二、网页的文档层次结构
IE 浏览器,采用 DOM(文档对象模型)来管理网页的数据。它通过一个容器(IWebBrowser2/IHTMLWindow2)来装载网页文档(IHTMLDocument2),而一个文档,又可以由 0 或多个贞(frame)组成,管理这些贞的接口叫“框架集合(IHTMLFramesCollection2)”,而每个贞的容器又是IHTMLWindow2,和IWebBrowser2一样,它也装载着各自的文档(IHTMLDocument2)。因此,我们的第一个任务,就是想方设法能够得到IHTMLDocument2的接口。因为文档可能包含贞,而贞又包含着子文档,子文档可能再包含贞......,如此要得到所有的文档,这里有一个递归遍历的处理过程。
得到文档(IHTMLDocument2)后,下一步任务就是要设法取得表单了(IHTMLFormElement)。因为在一个文档中可以包含 0 或多个表单(form),而管理这些表单的又是一个表单集合(IHTMLElementCollection),所以必须先得到集合,然后再枚举出所有的表单条目了。
得到表单(IHTMLFormElement)后,接下来的事情就简单了,逐个提取表单中的元素(也叫表单域 IHTMLInputElement)就可以读写这些域的属性了。 找这方面的资料看看
或许对你有用
能力值:
( LV15,RANK:1473 )
3 楼
通过楼主的方法只能得到属性,如width,height,url之类的,但是不能得到picture对象。我查了相关资料是这么说的。
我上CSDN查了一下,也没找到可以直接引用图片对象的,倒是发现一种方法可以直接得到IE缓存中的图片路径:设置一个OLE对象,比如添加一个PictureBox并设置OLE为自动,当把网页中的图片直接拖到PictureBox中时,可以在PictureBox的DragDrop事件中截获并得到该图片在本地IE缓存中的路径。
现在我郁闷的是:如何不通过拖放,直接在程序中得到这个地址?
还希望大家再来讨论一下!
PS:我用的是VB,如果是其他语言也希望能不吝赐教!