npm 包 browsermob-standalone 使用教程

什么是 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


猜你喜欢

  • npm 包 browsery-cache-fly 使用教程

    前言 在前端开发中,优化页面性能是一个很重要的方向。其中一个重要的组成部分就是页面的缓存技术。在浏览器端,我们可以使用浏览器缓存来存储静态资源,从而提高页面加载速度。

    4 年前
  • npm 包 browster 使用教程

    在前端开发中,需要经常运用到不同的第三方工具和库,这些工具和库帮助我们提高开发效率和代码可读性。其中, browster 是一款十分实用的 npm 包,可以帮助开发者轻松实现浏览器UA检测。

    4 年前
  • npm 包 browsyquire 使用教程

    前端开发中,经常需要模拟 DOM 环境来测试代码,这时候就需要使用 Node.js 的 jsdom 库。但是,有时候我们只想测试单个脚本文件,不想运行整个测试框架。

    4 年前
  • npm 包 broxjs 使用教程

    什么是 broxjs? broxjs 是一个轻量级的前端库,用于管理 JavaScript 中的状态。它通过将状态捆绑到视图层中的节点,使得状态管理变得简单而直观。

    4 年前
  • npm 包 brp 使用教程

    前言 在前端开发中,我们经常需要对文本进行处理,例如去除空格、转换大小写等。而在 Node.js 中,我们可以使用正则表达式对文本进行处理。但是正则表达式语法比较复杂,难以理解和使用。

    4 年前
  • npm 包 brp-template 使用教程

    brp-template 是一个基于 Node.js 平台的 npm 包,它提供了一种简单易用的方式来快速创建网站的基础模板。它适用于任何站点类型和规模,从简单的个人博客到复杂的企业网站。

    4 年前
  • NPM 包 brjade 使用教程

    1. 什么是 brjade? brjade 是一款基于 Jade 模板语言和 Bootstrap 框架的 HTML 静态网站快速生成器。它能够轻松地将基于 Jade 模板语言编写的静态网页转换为 HT...

    4 年前
  • npm包brkontru使用教程

    随着前端应用的飞速发展,npm成为承载JavaScript应用的一个重要平台。npm包使得开发人员能够在项目中快速地实现一些功能,避免重复造轮子。本教程将为你介绍一款npm包——brkontru,并详...

    4 年前
  • npm 包 brkstn-grid-cssnext 使用教程

    前言 现代化的前端开发已经离不开 npm 包的使用。而且,有了 npm 包的搭档 webpack 和 babel,我们可以愉快地进行最新技术的尝试,构建出更加现代化、简明化的代码。

    4 年前
  • npm 包 brm 使用教程

    在前端开发中,我们经常需要在页面中使用富文本编辑器,以便用户可以方便地编辑和排版内容。而 brm 就是一款常用的富文本编辑器,它可以帮助我们快速构建出漂亮的富文本编辑器。

    4 年前
  • npm 包 brms-pirate 使用教程

    简介 brms-pirate 是一个开源的 npm 包,可以用于在前端项目中实现多语言支持。它提供了一种简单易用的方式,可以让你的项目快速实现国际化。 安装 使用 npm 进行安装。

    4 年前
  • npm 包 bro 使用教程

    前言 在前端开发领域,我们经常需要对浏览器进行兼容性处理。但是不同浏览器对 JavaScript 的行为表现可能会存在一定差异,这就导致了前端开发人员需要对代码进行不同浏览器下的测试。

    4 年前
  • npm 包 brp-depend 使用教程

    前言 在前端开发中,我们常常需要在项目中引入各种外部资源库,如 jQuery、React、Vue 等等。而这些外部资源的管理则需要借助 npm 包管理工具进行完成。

    4 年前
  • npm 包 brp-hjson 使用教程

    简介 brp-hjson 是一个用于 JavaScript 和 Node.js 的轻量级 HJSON 解析器。它支持 HJSON 格式的所有特性,并且可以将 HJSON JSON 化。

    4 年前
  • npm 包 browser-selected-text 使用教程

    在前端开发中,经常会遇到需要获取用户在网页中所选文本的需求。npm 包 browser-selected-text 可以帮助我们快速地实现这个功能,并且还提供了一些其他的选中文本操作。

    4 年前
  • npm 包 simple-number-suffix 使用教程

    在日常前端开发中,我们经常需要将数字转换为包含数字后缀的字符串,例如我们需要将数字 1000 转换为 1K,将数字 1000000 转换为 1M。为了方便开发,npm 社区中出现了许多实现这类功能的库...

    4 年前
  • npm 包 brofist-browser 使用教程

    前言 在前端开发中,我们经常需要使用一些第三方库帮助我们快速地实现一些功能。npm (Node Package Manager) 是前端常用的包管理工具,通过它我们可以安装、管理和发布开源的 Java...

    4 年前
  • npm 包 brofist-cli 使用教程

    什么是 brofist-cli brofist-cli 是基于 Node.js 平台的一个命令行工具,可以方便地创建和部署前端项目。它提供了一些实用的功能,如创建项目、安装依赖、启动本地开发服务器、构...

    4 年前
  • npm 包 broccoli-zip-js 使用教程

    在前端开发中,我们经常需要将文件打包成 zip 文件以便上传或下载。broccoli-zip-js 是一个 npm 包,它提供了快速而轻松的打包功能,可以让我们在很少的代码量下快速地创建 zip 文件...

    4 年前
  • npm 包 Broccoli-zopfli 使用教程

    介绍 Broccoli-zopfli 是一款基于 Broccoli 构建工具的插件,用于压缩静态资源文件,包括 HTML、CSS、JS 等。 Broccoli-zopfli 支持 Zopfli 压缩算...

    4 年前

相关推荐

    暂无文章