Javascript 在chrome devtools网络控制台中复制多个网络响应
我想从Chrome的devtools下的network选项卡的请求过滤列表中复制所有网络响应 我在网站上读到了复制所有请求URL的解决方案 但我不知道如何从请求中访问解码的响应体Javascript 在chrome devtools网络控制台中复制多个网络响应,javascript,google-chrome,google-chrome-extension,google-chrome-devtools,Javascript,Google Chrome,Google Chrome Extension,Google Chrome Devtools,我想从Chrome的devtools下的network选项卡的请求过滤列表中复制所有网络响应 我在网站上读到了复制所有请求URL的解决方案 但我不知道如何从请求中访问解码的响应体 该解决方案正在运行,但我需要一个只从“网络”选项卡下的筛选请求列表中提取响应的解决方案。查看devtools的源代码可以发现我们需要 如何使用说明与中的相同 我从中发现了“静态异步复制响应(请求)”函数,我可以从devtools获取devtools()的网络请求:request=UI.panels.network.\u
该解决方案正在运行,但我需要一个只从“网络”选项卡下的筛选请求列表中提取响应的解决方案。查看devtools的源代码可以发现我们需要 如何使用说明与中的相同
我从中发现了“静态异步复制响应(请求)”函数,我可以从devtools获取devtools()的网络请求:request=UI.panels.network.\u networkLogView.\u dataGrid.\u rootNode.\u flatNodes[0]。\u请求但“UI.panels.networkLogView”没有copyResponse的功能。我还没有找到答案。这能回答你的问题吗?
(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);
})();