2015-06-19 87 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

相關問題