我想从 Chrome 开发者工具下的网络选项卡中复制请求过滤列表中的所有网络响应。
我在 Multiple URLs copy in Sources/Network tab 阅读了有关复制所有请求 URL 的解决方案 但我不知道如何从请求中访问解码后的响应主体。
Chrome Devtools: Save specific requests in Network Tab 处的解决方案可行,但我想要一个仅从网络选项卡下过滤的请求列表中提取响应的解决方案。
最佳答案
检查 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);
})();
关于javascript - 在 chrome devtools 网络控制台中复制多个网络响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57764902/