VBA HTML scrape。使用动态网页,无法指出所需的具体数据点

时间:2018-03-15 20:19:00

标签: html excel vba excel-vba

我正在使用以下网站

https://bigfuture.collegeboard.org/college-university-search/university-of-virginia

我的目标是提取有关学校费用的信息。我能够使用类似下面的代码为州内学生支付费用。

Select "Paying" tab  
Set Paying = ie.document.getElementsByTagName("a")(97)  
Paying.Click

Set ISOCTF = ie.document.getElementsByTagName("td")(0)  
Sheets("Sheet1").Range("A1").Value = ISOCTF.innerText

然而,当我试图提取“州外”成本时,我无法选择“州外成本”选项卡。我检查了HTML脚本,它表明在我能够检索所需信息之前需要激活一行。如何激活“州外费用”标签?

对此问题的任何见解都会有所帮助。

1 个答案:

答案 0 :(得分:1)

首先,您可以通过id

获取“州外”标签
Set OutOfStateTab = ie.document.getElementById("cpProfile_tabs_paying_outstatecosts_anchor")

然后,您获得此对象的唯一链接(a)子节点并触发click()方法以选择:

OutOfStateTab.getElementsByTagName("a")(0).Click

我建议你在开始刮之前稍等一下,因为链接导航会花费几毫秒加载服务器:

While ie.Busy
Loop