Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google chrome 自动记录网络选项卡,而无需在Google Chrome中打开它_Google Chrome_Google Chrome Extension_Google Chrome Devtools - Fatal编程技术网

Google chrome 自动记录网络选项卡,而无需在Google Chrome中打开它

Google chrome 自动记录网络选项卡,而无需在Google Chrome中打开它,google-chrome,google-chrome-extension,google-chrome-devtools,Google Chrome,Google Chrome Extension,Google Chrome Devtools,我需要将“网络”选项卡中显示的信息记录到一个文件中。我可以先启动网络选项卡,然后将其导出到文件中。但是,有没有可能在打开Chrome浏览器时,在后台自动运行“网络”选项卡并将其导出到文件中 有可能吗?这取决于您的要求。如果您的扩展涉及DevTools,因此它是开放的,那么您可以使用该方法获取网络流量。您不需要导航到“网络”选项卡 但是,如果希望在不打开DevTools的情况下访问网络数据,则此API将不起作用,因为它仅公开给DevTools实例。有两种可能的选择 选择1 您可以使用API截获每个

我需要将“网络”选项卡中显示的信息记录到一个文件中。我可以先启动网络选项卡,然后将其导出到文件中。但是,有没有可能在打开Chrome浏览器时,在后台自动运行“网络”选项卡并将其导出到文件中


有可能吗?

这取决于您的要求。如果您的扩展涉及DevTools,因此它是开放的,那么您可以使用该方法获取网络流量。您不需要导航到“网络”选项卡

但是,如果希望在不打开DevTools的情况下访问网络数据,则此API将不起作用,因为它仅公开给DevTools实例。有两种可能的选择

选择1 您可以使用API截获每个请求/响应,并将您想要/可以的任何数据附加到对象。然后可以使用API下载数据。在您的情况下,可以使用数据URI

var url = 'data:application/json;base64,' + btoa(data);
chrome.downloads.download({url: url, filename: 'notQuiteAHAR'json'});
我还没有在实践中对此进行测试,我也不太确定您是否可以在调用下载之前确定所有请求何时完成

选择2 根据@wOxxOm的评论,使用更低级的API。调试协议一次只允许调试程序的一个实例,因此只有在没有DevTools运行的情况下,这才有效。API公开的内容比API多得多,但需要一些工作才能获得所需的所有数据


有一个名为的存储库,它使用调试协议。特别有趣的是,它使用调试器API中的事件手动构造HAR。该库用于远程调试,但我相信您可以在扩展中使用调试器API,因此您可能可以使用此存储库的各个方面。

这取决于您的需求。如果您的扩展涉及DevTools,因此它是开放的,那么您可以使用该方法获取网络流量。您不需要导航到“网络”选项卡

但是,如果希望在不打开DevTools的情况下访问网络数据,则此API将不起作用,因为它仅公开给DevTools实例。有两种可能的选择

选择1 您可以使用API截获每个请求/响应,并将您想要/可以的任何数据附加到对象。然后可以使用API下载数据。在您的情况下,可以使用数据URI

var url = 'data:application/json;base64,' + btoa(data);
chrome.downloads.download({url: url, filename: 'notQuiteAHAR'json'});
我还没有在实践中对此进行测试,我也不太确定您是否可以在调用下载之前确定所有请求何时完成

选择2 根据@wOxxOm的评论,使用更低级的API。调试协议一次只允许调试程序的一个实例,因此只有在没有DevTools运行的情况下,这才有效。API公开的内容比API多得多,但需要一些工作才能获得所需的所有数据


有一个名为的存储库,它使用调试协议。特别有趣的是,它使用调试器API中的事件手动构造HAR。该库用于远程调试,但我相信您可以在扩展中使用调试器API,因此您可能可以使用此存储库的各个方面。

请参阅chrome.debugger API。您的扩展可以附加到选项卡,然后使用协议的命令。我没有阅读完整的协议文档,因此我没有找到保存HAR的方法,可能您必须手动执行。另请参阅。请参阅chrome.debugger API。您的扩展可以附加到选项卡,然后使用协议的命令。我没有阅读完整的协议文档,因此我没有找到保存HAR的方法,可能您必须手动执行。另请参阅。