我正在使用chrome.devtools.network.getHAR
从一个站点获取har日志。但是,我不知道如何将其转换为适当的.har文件并下载。我可以使用JSON.stringify(harLog)
,转换为BLOB,下载该文件,并将其视为JSON,但我希望能够从下载文件夹中下载该文件,并能够使用.har查看器(如铬网络选项卡)打开.har文件。
下面是我到目前为止所掌握的代码:
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对象分配给键:对象的日志并对其进行字符串化之后,我可以下载将文件导入到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"
});
}
);
发布于 2019-12-09 07:58:26
首先,谢谢wOxxOm用JSON.stringify()
指导我朝着正确的方向前进
解决方案
在查看了从chrome工具生成的.har文件之后,我注意到它遵循以下格式
{
"log": {
"version": "1.2",
"creator": {
...
},
...
}
而JSON.stringify(harLog)会给我
{
"version": "1.2",
"creator": {
...
},
...
}
在我将harLog对象分配给键:对象的日志并对其进行字符串化之后,我可以下载将文件导入到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"
});
}
);
https://stackoverflow.com/questions/59243885
复制相似问题