npm 包 browsermob-standalone 使用教程

阅读时长 4 分钟读完

什么是 browsermob-standalone?

browsermob-standalone 是一个使用 Node.js 编写的浏览器代理工具,它可以帮助前端工程师捕获网页的网络请求和页面性能数据。它的使用方法与 Selenium WebDriver 相似,可以通过 API 进行控制。browsermob-standalone 开源免费,并且提供了一个 npm 包,方便我们在项目中使用。

安装

首先我们需要安装 Node.js 环境,然后通过 npm 安装 browsermob-standalone:

使用

启动代理服务器

在使用 browsermob-standalone 之前,我们需要先启动一个代理服务器:

-- -------------------- ---- -------
----- ---------- - ---------------------------------
----- ------ - ---------------------

------------------ -------- ------ -
  ------------------ ------ ------- -- ------ -----------
---

-- ----------------
----------------- -------- ------ -
  ------------------ ------ ------- ---- ------ ------
  -------------------
---

创建代理实例

创建代理实例时需要传入代理服务器的地址和端口号:

新建浏览器会话

通过代理实例新建浏览器会话时,可以设置一些代理相关的参数:

newHar 函数的参数依次是:

  • 页面标题
  • 是否捕获请求头
  • 是否捕获请求体
  • 是否捕获请求的响应体

发起请求

发起请求时可以设置一些代理相关的参数:

proxy 函数的参数依次是:

  • 请求地址
  • 请求方法
  • 查询参数
  • 请求头
  • 请求体

获取性能数据

页面性能数据可以通过代理实例的 getHAR 方法获取:

示例代码

最后为了更好的理解,这里提供一组完整的示例代码:

-- -------------------- ---- -------
----- ---------- - ---------------------------------
----- -- - -----------------------------------------
  ----- ------------
  ----- -----
---

----- -------- ------------- -
  ----- --------- - -------------------- ----- ----- ------
  -------------------- ----- -----------

  ----- -------- - ----- ------------- -------
  ---------------------- ---------------------
  ----------------------- -------------------------------- ----- ----

  ----- --- - ----- ---------------------
  ------------------- ------------------- ----- ----
-

----- ------ - ---------------------

------------------ -------- ------ -
  ------------------ ------ ------- -- ------ -----------
  -----------------------------------
---

----------------- -------- ------ -
  ------------------ ------ ------- ---- ------ ------
  -------------------
---

这段代码将启动一个代理服务器,在代理服务器启动之后自动加载百度首页,并将页面数据打印出来。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60066c89ccdc64669dde5134

纠错
反馈