仅在 chrome 开发工具中使用 xhr 请求创建 har 文件

Posted

技术标签:

【中文标题】仅在 chrome 开发工具中使用 xhr 请求创建 har 文件【英文标题】:Create a har file with xhr request only in chrome dev tools 【发布时间】:2020-02-08 01:36:14 【问题描述】:

有没有办法仅在 chrome 开发工具中创建带有 xhr 请求的 har 文件?

尽管我可以在开发工具中过滤请求,但当我将其保存为 har 文件时,它包含所有请求。

如果开发者开发工具不支持这一点,是否有其他方法可以做到这一点?

【问题讨论】:

【参考方案1】:

似乎没有直接的方法来过滤请求。我所做的是,创建包含所有请求的 har 文件并过滤该文件,然后在删除不需要的请求后再次保存。

har 文件内的内容中有一个名为entries 的条目。它包含我们在一个数组中发送的所有请求。我得到了har 文件内容并使用JSONPath 表达式对其进行过滤。

About JSONPath, JSONPAth evaluator

过滤application/json类型的表达式:$..entries[?(@.response.content.mimeType == "application/json")]

之后,我将条目数组替换为我在har 文件中过滤的数组并再次保存。通过这种方式,您可以获得带有过滤请求的har 文件。同样,您可以使用相关的JSONPath 表达式过滤XHR 或任何其他类型

【讨论】:

能否分享代码,如何仅从 .har 文件中提取 XHR 调用 试试这个,$..entries[?(@._resourceType == "xhr")]

以上是关于仅在 chrome 开发工具中使用 xhr 请求创建 har 文件的主要内容,如果未能解决你的问题,请参考以下文章

在 Chrome 中捕获 XHR / Ajax 请求

chrome可以发送request

使用 cookie 从 Chrome 扩展发送 XHR 请求

在 Chrome 中的 XHR 中设置断点

在 Chrome 中的 XHR 中设置断点

如何使用 chrome-extension 收听 xhr 响应?