[VBA]Excel操作IE(打开网页、等待网页加载、填写网页控件数据、点击网页按钮、抓取网页数据)

[VBA]Excel操作IE(打开网页、等待网页加载、填写网页控件数据、点击网页按钮、抓取网页数据)

 

      该贴的附件提供了一个利用SHDocVw.InternetExplorer对象、进行打开网页、等待网页加载、填写网页控件中数据(检索条件)、点击网页按钮(检索按钮)、等待网页加载(检索中)、抓取网页数据(检索结果)的一个完整的例子。

该技术对与开发人员可以用于Web页面的批量测试、类似于JUnit方式的测试、也可以用于批量也网页重复操作、比如网页考勤系统的登录、出勤、退勤等等。

 

该贴摘自:http://www.officefans.net/cdb/viewthread.php?tid=68888

附件:http://access911.net/csdn/FileDescription.asp?mdb=2009-9-11&id=8

原帖内容如下:

用VBA抓取网页数据,通常可以用Excel VBA的workbooks.open "http://....."语句来实现打开网页,之后用find和offset等方法定位数据的位置,再复制到指定的地方。
或者用QueryTableActiveSheet.QueryTables.Add(Connection:="URL;http://.....", Destination:=Range("A1"))
但是,在有些场合可能这两种方法不容易实现,比如:
1.导入查询结果页面。(每次要先提交表单才能得到数据页,数据是分页的,但各分页URL一样,没有?page=2之类的)
2.要先提交表单或点击链接才能得到数据页,网页在IE中显示正常,但直接将URL用Workbooks.open或QueryTables.add打开则显示超时等错误)
3.批量导入网址不规则的页面。(所有要导入的页面都在某个网页上有链接,但网址没有规律)

如果对html和网页script脚本熟悉的话,可以用IExplorer对象打开网页,然后用VB脚本控制网页内各个元素的行为来填写、提交表单或打开超级链接,然后取得网页内各个元素的innerText来实现获取数据。

  • 4
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值