遇到网页数据用Ajax加载就束手无策?揭秘IE浏览器控制术,让VBA轻松抓取动态渲染内容!本文独家公开XMLHTTP对象与DOM解析的黄金组合,连JavaScript生成的数据都能一网打尽,财务小姐姐用这招自动抓取股票数据月省40小时!
、
一、技术原理:
通过创建IE浏览器实例,等待页面完全加载后获取DOM对象
二、核心代码:
vba
Sub GetAjaxData()
Dim IE As Object
Set IE = CreateObject("InternetExplorer.Application")
With IE
.Visible = True '调试时可显示浏览器窗口
.navigate "https://example.com/ajax-page"
Do While .Busy Or .readyState <> 4: DoEvents: Loop
End With
' 获取动态渲染后的数据
Dim doc As Object, results As Object
Set doc = IE.document
Set results = doc.getElementsByClassName("data-row")
' 输出到Excel工作表
Dim ws As Worksheet, i As