为什么 Chrome 的开发者工具无法持续收集数据?

为什么 Chrome 的开发者工具无法持续收集数据?

我经常使用 Chrome 网络选项卡来收集网络跟踪信息。大约 50% 的时间它都能正常工作。为什么 Charles Proxy 和 Fiddler 等代理工具可以成功收集数据,而 Chrome 工具却不一致?

重要的是,我无法始终获得回复。是重定向吗?还是其他原因?

这里有一个例子,我有几个包含此消息的回复:

"Failed to load response data: No resource with given identifier found"

这只是一个例子,但一般来说,还有其他消息,但没有回复。

有没有更好的插件?我有时会使用 SAML-tracer,但它没有得到响应,但它确实有一些数据并且工作稳定。我是否遗漏了某个标志或设置?

答案1

该问题似乎已在 2012 年的错误报告中提及(!)
问题 141129:DevTools:导航后 XHR(和其他资源)内容不可用

Chrome 开发人员 Eustas 的解释是:

我看到的是,在网络面板中未查看的资源在页面导航后将无法访问。

这是“低开销”政策的结果 - 资源内容不会传输到 DevTools,除非用户明确想要查看。这样做是为了避免测量结果出现偏差。

当然,我们可以在导航之后保留资源,但这会增加内存负担:想象一下,用户(或网站本身)持续且无限地导航......

当前的解决方案是一个很好的折衷方案:如果愿意,用户可以在导航之间检查资源;另一方面,用户可以在单个时间线上检查多个导航的网络时间。

帖子中的最后一条评论来自 2022 年:

虽然理论上可行,但这可能要付出巨大的努力,而且我们短期内没有能力完成这项工作。

结论是问题仍然存在,因此你只能使用变通方法:

  • 使用其他浏览器(Firefox 有很好的开发工具)
  • 在 Sources 标签页中添加断点:
    在 Chrome DevTools 中,点击“Sources”标签页,展开“Event Listener Breakpoints”,展开“Load”并勾选“beforeunload”,然后重新加载请求。
  • 使用 Postman 查看回复。

有关这些解决方法的更多信息,请参阅文章
如何修复 Chrome 无法加载响应数据错误

答案2

补充一下上面的回答:这个问题好像只有Preserve log启用的时候才会出现。

当我Export HAR在 devtools 中使用时,我发现了这个问题。

另外,beforeunload断点无法解决开启Preserve log时无法查看响应栏的问题。

相关内容