javascript - 从网页中提取源代码中没有的数据

标签 javascript excel dom vbscript

我想在 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 修改后)吗?

最佳答案

使用 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 之类的东西.

关于javascript - 从网页中提取源代码中没有的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30941831/

相关文章:

Excel密码删除

javascript - 从单选按钮选择分配值的最佳方法

javascript - 如何在JS中获取URL中的#hash值

javascript - EaselJS中获取直线的起点和终点

javascript - jquery可以读取外部页面的dom元素吗?

javascript - 在 Angular 应用程序中,通过 chrome 开发工具检查元素时,为什么我看不到纯 html?

javascript - HTML 页面 View 页面源不显示来自 angularjs 的内容加载

javascript - 如何在 chrome 扩展中加载 Google Analytics 和 Facebook SDK?

excel - 用Excel随机生成x个整数与y的和

vba - 自动填充直到列的末尾