我正在使用HAR Export XPI来获取使用selenium遍历的页面的网络流量。我将XPI添加到ffv46(因为无法将XPI添加到最新的ff浏览器)。我使用了下面提到的配置文件设置 -
profile.setPreference("app.update.enabled", false);
profile.setPreference("extensions.netmonitor.har.enableAutomation", true);
profile.setPreference("extensions.netmonitor.har.contentAPIToken", "true");
profile.setPreference("extensions.netmonitor.har.autoConnect", true);
profile.setPreference("devtools.netmonitor.enabled", true);
profile.setPreference("devtools.netmonitor.har.pageLoadedTimeout", "50000");
profile.setPreference("devtools.netmonitor.har.defaultLogDir", "FOLDER_ON_SYSTEM");
profile.setPreference("devtools.netmonitor.har.enableAutoExportToFile", false);
我正在注入以下javascript来获取HAR文件。
function triggerExport() {
var options = {
token: "true",
getData: true,
fileName: "Export_%y%m%d_%H%M%S"
};
HAR.triggerExport(options).then(result => {
console.log(result);
});
};
if (typeof HAR === 'undefined')
{
console.log("Calling Undefined");
addEventListener('har-api-ready', event => {
console.log("har api ready");
console.log(event);
triggerExport();
}, false);
}
else
{
console.log("Calling defined");
triggerExport();
}
但是没有生成HAR文件。有什么我想念的东西。 此外,如果我尝试在FF控制台中键入HAR,我会收到未定义的消息,这会导致该功能失败。
我还缺少其他任何设置。
提前致谢!!!!
答案 0 :(得分:1)
由于我没有运气使用其他建议的解决方案解决此问题(AFAIK browsermob proxy
和XPI已有相当一段时间没有更新),所以我创建了一个小npm模块来将硒测试捕获为HAR文件-{{3 }}
我使用了Chrome开发工具协议来捕获Fetch事件,您可以看到我的逻辑link