我可以从Chrome Dev工具中导出HAR文件,只包含网络标签中经过筛选的请求吗?

9
在Chrome开发者工具/网络选项卡中,我使用过滤器(如“-.json -.png -.woff2”)过滤了请求。 我想导出剩下的请求(即在屏幕上可见的请求)。 然而,当我使用“导出HAR…”图标时,在输出的HAR文件中,我仍然会得到包括隐藏请求在内的所有请求。 有没有办法做到这一点?
提前感谢。
3个回答

6

目前 Chrome DevTools 不支持此功能:

DevTools 会将你打开之后发生的所有请求保存到 HAR 文件中。无法筛选请求或只保存单个请求。

参考:https://developer.chrome.com/docs/devtools/network/reference/#save-as-har

但是,由于 HAR 文件只是一个 JSON,因此您可以使用像 jq 这样的工具提取您感兴趣的请求。

假设您从维基百科页面导出了一个 HAR 文件,并将其命名为 wiki.har。以下是如何创建仅包含该页面上图像请求的 HAR 文件:

cat wiki.har | jq 'del(.log.entries)' > wiki-with-no-entries.json
cat wiki.har | jq '.log.entries | map(select(._resourceType == "image"))' > image-entries.json
cat wiki-with-no-entries.json | jq '.log += {"entries": $myEntries}' --argfile myEntries image-entries.json > wiki-with-image-entries.json

注意1: _resourceType 可以是 documentimagefontstylesheetscriptother (也许还有其他的?我没有找到相关文档)。
注意2: jq文档 建议使用 --slurpfile 代替 --argfile。但是,--slurpfile 在此处会创建 entries:[[]],而 --argfile 则会创建 entries:[] (这是你所需要的)。不过这可能只是我对jq了解不够...
另请参考:

1
你可以尝试使用 webQsee (https://webqsee.com)。它允许您导出筛选后的事件,其中HAR格式是一种选项。其他选项包括Excel(还包含控制台输出)和“行为报告”。它们将网络和控制台输出与屏幕视频相结合。

0
我建议使用Fiddler Classic来记录、过滤和导出请求到.har文件。
您可以在右侧的"Filters"选项卡上按照您的喜好进行过滤,然后转到Files > Export Sessions > All Sessions > Select HTTP Archive 2.0。
嘭,过滤后的请求就变成了.har文件。
附注:它以utf-8-sig格式导出,可以使用Notepad++进行转换。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接