Skip to content

puppeteer

Puppeteer 是一个 JavaScript 库,他通过DevTools ProtocolWebDriver BiDi来控制 Chrome 或 Firefox 来进行浏览器的自动化控制。

安装

Bash
npm i puppeteer

当安装 Puppeteer 时,他会自动下载最新的 Chrome 和 chrome-headless-shell 两个可执行文件来供 puppeteer 使用。

Tips

默认下载位置是 $HOME/.cache/puppeteer

puppeteer-core

puppeteer 会安装特定版本的 chrome 来使用。如果你想要连接任何支持 DevTools 协议的库则可以使用 puppeteer-core 来实现。他能够让你连接到远程浏览器或者管理自己的特定版本的浏览器。

Tips

puppeteer 相当于包含了特定版本 chrome 的 puppeteer-core

Bash
npm i puppeteer-core

注意使用 puppeteer-core 的导入方式:

JavaScript
import puppeteer from "puppeteer-core";

基本使用

浏览器测试框架的基本流程包括:

  1. 浏览器管理: Lanch 和 Connect 到一个浏览器
JavaScript
import puppeteer from "puppeteer";

// 连接一个浏览器
const browser = await puppeteer.launch();

/* 
业务逻辑
*/

// 关闭浏览器
await browser.close();
  1. 创建一个 page
  2. 然后使用 puppeteer 提供的 API 来操作这个页面

参考