如何将 chrome.devtools.network.getHAR returns 的对象下载为 .har?
How do I download the object that chrome.devtools.network.getHAR returns as a .har?
我正在使用 chrome.devtools.network.getHAR
从站点获取 har 日志。但是,我不知道如何将其转换为正确的 .har 文件并下载。我可以使用 JSON.stringify(harLog)
,转换为 BLOB,下载文件,并将其查看为 JSON,但我希望能够下载文件并能够打开带有 .har 文件的 .har 文件。下载文件夹中的 har 查看器(如 chrome 网络选项卡)。
这是我到目前为止的代码:
chrome.devtools.network.getHAR(
function (harLog) {
let harBLOB = new Blob([harLog]);
let url = URL.createObjectURL(harBLOB);
chrome.downloads.download({
url: url,
filename: "test.har"
});
});
使用该代码,它会下载一个包含以下内容的文本文件;
[object Object]
解决方案
查看从 chrome 开发工具生成的 .har 文件后,我注意到它遵循以下格式
{
"log": {
"version": "1.2",
"creator": {
...
},
...
}
而 JSON.stringify(harLog) 会给我
{
"version": "1.2",
"creator": {
...
},
...
}
在我将 harLog 对象分配给对象的键:log 并将其字符串化后,我能够下载导入文件到 chrome 开发工具网络选项卡
工作代码
chrome.devtools.network.getHAR(
function (harLog) {
let updatedHarLog = {};
updatedHarLog.log = harLog;
let harBLOB = new Blob([JSON.stringify(updatedHarLog)]);
let url = URL.createObjectURL(harBLOB);
chrome.downloads.download({
url: url,
filename: "test"
});
}
);
首先感谢wOxxOm用JSON.stringify()
指引我正确的方向
解决方案
查看从 chrome 开发工具生成的 .har 文件后,我注意到它遵循以下格式
{
"log": {
"version": "1.2",
"creator": {
...
},
...
}
而 JSON.stringify(harLog) 会给我
{
"version": "1.2",
"creator": {
...
},
...
}
在我将 harLog 对象分配给对象的键:log 并将其字符串化后,我能够下载导入文件到 chrome 开发工具网络选项卡
工作代码
chrome.devtools.network.getHAR(
function (harLog) {
let updatedHarLog = {};
updatedHarLog.log = harLog;
let harBLOB = new Blob([JSON.stringify(updatedHarLog)]);
let url = URL.createObjectURL(harBLOB);
chrome.downloads.download({
url: url,
filename: "test"
});
}
);
我正在使用 chrome.devtools.network.getHAR
从站点获取 har 日志。但是,我不知道如何将其转换为正确的 .har 文件并下载。我可以使用 JSON.stringify(harLog)
,转换为 BLOB,下载文件,并将其查看为 JSON,但我希望能够下载文件并能够打开带有 .har 文件的 .har 文件。下载文件夹中的 har 查看器(如 chrome 网络选项卡)。
这是我到目前为止的代码:
chrome.devtools.network.getHAR(
function (harLog) {
let harBLOB = new Blob([harLog]);
let url = URL.createObjectURL(harBLOB);
chrome.downloads.download({
url: url,
filename: "test.har"
});
});
使用该代码,它会下载一个包含以下内容的文本文件;
[object Object]
解决方案
查看从 chrome 开发工具生成的 .har 文件后,我注意到它遵循以下格式
{
"log": {
"version": "1.2",
"creator": {
...
},
...
}
而 JSON.stringify(harLog) 会给我
{
"version": "1.2",
"creator": {
...
},
...
}
在我将 harLog 对象分配给对象的键:log 并将其字符串化后,我能够下载导入文件到 chrome 开发工具网络选项卡
工作代码
chrome.devtools.network.getHAR(
function (harLog) {
let updatedHarLog = {};
updatedHarLog.log = harLog;
let harBLOB = new Blob([JSON.stringify(updatedHarLog)]);
let url = URL.createObjectURL(harBLOB);
chrome.downloads.download({
url: url,
filename: "test"
});
}
);
首先感谢wOxxOm用JSON.stringify()
解决方案
查看从 chrome 开发工具生成的 .har 文件后,我注意到它遵循以下格式
{
"log": {
"version": "1.2",
"creator": {
...
},
...
}
而 JSON.stringify(harLog) 会给我
{
"version": "1.2",
"creator": {
...
},
...
}
在我将 harLog 对象分配给对象的键:log 并将其字符串化后,我能够下载导入文件到 chrome 开发工具网络选项卡
工作代码
chrome.devtools.network.getHAR(
function (harLog) {
let updatedHarLog = {};
updatedHarLog.log = harLog;
let harBLOB = new Blob([JSON.stringify(updatedHarLog)]);
let url = URL.createObjectURL(harBLOB);
chrome.downloads.download({
url: url,
filename: "test"
});
}
);