【问题标题】:Copy multiple network responses in chrome devtools network console在 chrome devtools 网络控制台中复制多个网络响应
【发布时间】:2020-01-05 23:03:28
【问题描述】:

我想从 Chrome 的 devtools 下的网络选项卡中复制过滤后的请求列表中的所有网络响应。

我在Multiple URLs copy in Sources/Network tab 阅读了有关复制所有请求的 URL 的解决方案 但我不知道如何从请求中访问解码后的响应正文。

Chrome Devtools: Save specific requests in Network Tab 的解决方案有效,但我想要一个仅从网络选项卡下过滤的请求列表中提取响应的解决方案。

【问题讨论】:

标签: javascript google-chrome google-chrome-extension google-chrome-devtools


【解决方案1】:

检查 devtools 的源代码发现我们需要contentData() method

使用说明与Multiple URLs copy in Sources/Network tab相同。

(async () => {
  const getContent = r => r._url && !r._url.startsWith('data:') && r.contentData();
  const nodes = UI.panels.network._networkLogView._dataGrid._rootNode._flatNodes;
  const requests = nodes.map(n => n._request);
  const bowels = await Promise.all(requests.map(getContent));
  const looks = bowels.map((data, i) => {
    const r = requests[i];
    const url = r._url;
    const content = !data ? 'data is encoded inside the data url already, duh' :
      r.contentType().isTextType() ? data.content :
        Common.ContentProvider.contentAsDataURL(data.content, r.mimeType, data.encoded);
    return {url, content};
  });
  console.log(looks);
})();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-20
    • 1970-01-01
    • 1970-01-01
    • 2011-11-07
    相关资源
    最近更新 更多