Chrome 官方支持以 headless 模式运行浏览器(包括通过 Puppeteer API 和/或 CRI 库进行编程控制)。
我已经搜索了文档,但我还没有找到如何以编程方式从实例中捕获 AJAX 流量(即从代码启动 Chrome 实例,导航到页面,并访问后台响应/请求调用和原始数据(全部来自不使用开发人员工具或扩展的代码)。
您是否有任何建议或示例详细说明如何实现这一目标?谢谢!
最佳答案
更新
正如@Alejandro 在评论中指出的那样,resourceType
是一个函数并且返回值是小写的
page.on('request', request => {
if (request.resourceType() === 'xhr')
// do something
});
原答案
Puppeteer 的 API 让这变得非常简单:
page.on('request', request => {
if (request.resourceType === 'XHR')
// do something
});
您还可以使用
setRequestInterception
拦截请求,但如果您不打算修改请求,则在此示例中不需要它。有一个example of intercepting image requests你可以适应。
resourceType
s 定义为 here .
关于javascript - 使用 headless Chrome 以编程方式捕获 AJAX 流量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46075265/