首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Google Chrome自动生成HAR文件

从Google Chrome自动生成HAR文件
EN

Stack Overflow用户
提问于 2012-11-24 01:38:28
回答 3查看 17.2K关注 0票数 27

基本上,我需要的是一种方法来自动化以下操作的结果:

  1. 打开一个新的标签;
  2. 在开发工具中打开“网络”选项卡;
  3. 加载URL;
  4. 选择“全部保存为哈尔”。

通常,建议的解决方案涉及使用PhantomJS浏览器-代理pcap2har;这些解决方案不适合我的情况,因为我需要处理SPDY流量。

我试着深入到Google Chrome扩展API中去,实际上我成功地实现了一些任务的自动化,但是对于HAR文件的生成仍然没有什么进展。现在这种方法特别有希望,但我仍然不知道如何使用它。

换句话说,我需要谷歌人提供的类似本实验的东西。请注意以下事项:

我们将Chrome的远程调试接口与一个自定义客户端一起使用,该客户端在电话上启动浏览器,清除其缓存和其他状态,启动网页加载,并接收Chrome开发工具消息以确定页面加载时间和其他性能指标。

有什么想法吗?

解决方案

出于好奇,我最终得到了一个自动化此类测试的Node.js模块:铬-哈-捕获。这也让我有机会深入研究远程调试协议,并为通用Chrome自动化编写一个较低级别的Node.js界面:铬-远程接口

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-11-24 02:56:23

简单的回答是,没有办法直接得到你想要的数据。getHAR方法只适用于扩展DevTools本身的扩展。好消息是,您可以自己构建HAR文件,而不需要太多麻烦--这正是phantom.js是做什么的

  1. 用远程调试启动Chrome
  2. 使用websocket连接到调试端口上的Chrome
  3. 启用“网络”调试,还可以清除缓存等--参见网络API
  4. 告诉浏览器导航到您想要捕获的页面,Chrome将将所有请求元数据流回给您。
  5. 将网络数据按摩为HAR格式,ala phantom.js
  6. ..。
  7. 利润。

首先,我有一篇关于样例Ruby代码的文章,您应该从步骤1-4:http://www.igvita.com/2012/04/09/driving-google-chrome-via-websocket-api/开始。

票数 13
EN

Stack Overflow用户

发布于 2018-10-23 08:49:00

到目前为止,有一个浏览器插件可以这样做:https://github.com/devtools-html/har-export-trigger

它使用WebExtensions DevTools API,我让它与DevTools和Chrome一起工作。

参见我在这里的Chrome代码:chrome.py#L175

在Chrome中自动安装插件比在火狐中要复杂一些,但是是可行的--我在本地提取插件存档,然后在chrome_prefs.json中链接到它(参见相同的存储库)。

票数 2
EN

Stack Overflow用户

发布于 2021-08-03 19:54:49

不确定是否有用,哈尔记录仪使用chrome调试协议记录HAR并生成har文件(不打开devtools)。如果您想要一个变体,您可以分叉并对其进行更改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13537533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档