如何找到动态加载内容的来源

how to find source of dynamically loaded content

我想抓取 this table 中的条目。它显然是在页面加载后由 javascript 填充的,所以我不想抓取(使用 webdriver 之类的东西),而是直接从 javascript 正在与之通信的任何服务请求数据。

使用 chrome 开发工具的网络选项卡,我想我已经将它缩小到 xhr POSThttps://www.oregon.gov/oha/ERD/_vti_bin/client.svc/ProcessQuery,但显示的响应看起来并不相关,并且none 的其他网络 activity 项似乎是。

我如何准确追踪填充 table 的请求?

HTML5引入了web-storage,它和cookie一样,在本地缓存数据。这可以防止首次加载站点后的数据请求。在 chrome 开发工具中,转到 application 选项卡,然后在 storage 下查找包含所需数据的密钥。如果它在那里,您可以清除存储,刷新,然后您将在 network 选项卡中看到 xhrfetch [1] 请求获取数据。您可以 right-click 请求并将其复制为 curl 命令以直接请求数据而无需抓取。您可能担心该服务会阻止从其批准的 Web 前端外部进行访问,但 cors 无法阻止您,因为它仅适用于浏览器。

[1] fetch 是改进后的 xhr,自 2015 年以来可用

感谢@sideshowbarker 将我指向 sessionStorage 并回答我的 cors 问题。