2015-06-19 58 views
1

我想写在Excel中的宏,从下面的网页中提取数据:从中提取数据页面,是不是在源代码

http://www.richmond.com/data-center/salaries-virginia-state-employees-2013/?appSession=673718284851033&RecordID=101177&PageID=3&PrevPageID=2&cpipage=1&CPIsortType=&CPIorderBy=&cbCurrentRecordPosition=1

我遇到的问题是,员工信息数据不在页面源中,所以当我使用下面的代码(其中NextPage设置为上述URL)时,responseText不包含我正在查找的数据。

With CreateObject("msxml2.xmlhttp") 
    .Open "GET", NextPage, False 
    .Send 
    htm.body.innerHtml = .responseText 
End With 

我很可能是错的,但我相信数据包含在页面的DOM中。有人可以帮助我了解如何使用VBScript来显示此页面的内容(即,在应用javascript修改之后)?

+0

如果您告诉我们您实际需要的数据,您可能会得到更好的答案。 –

回答

0

使用InternetExplorer.Application COM对象应该给你访问到实际的DOM树:

url = "http://www.richmond.com/..." 

Set ie = CreateObject("InternetExplorer.Application") 
ie.Visible = True 

ie.Navigate url 

Do 
    WScript.Sleep 100 
Until ie.ReadyState = 4 

Set elem = ie.Document.getElementById("...") 

如果不工作,你可能不得不求助于像PhantomJS

+0

谢谢Ansgar。周一我回到电脑时,我会试试这个。您之前对提供更多细节的评论很好。我正在创建一个宏,我可以用它来从每个员工个人资料中拉出姓,名,底薪和雇用日期,并将其放入Excel中,然后继续下一个员工资料,相同的数据,然后重复每个员工。这里有成千上万的员工,这就是为什么我想要找到一种方法来自动化提取数据的过程。再次感谢您的回复。 – ellbrown