puppeteer
Puppeteer 是一个 JavaScript 库,他通过DevTools Protocol或WebDriver BiDi来控制 Chrome 或 Firefox 来进行浏览器的自动化控制。
安装
当安装 Puppeteer 时,他会自动下载最新的 Chrome 和 chrome-headless-shell 两个可执行文件来供 puppeteer 使用。
Tips
默认下载位置是 $HOME/.cache/puppeteer
puppeteer-core
puppeteer 会安装特定版本的 chrome 来使用。如果你想要连接任何支持 DevTools 协议的库则可以使用 puppeteer-core 来实现。他能够让你连接到远程浏览器或者管理自己的特定版本的浏览器。
Tips
puppeteer 相当于包含了特定版本 chrome 的 puppeteer-core
注意使用 puppeteer-core 的导入方式:
基本使用
浏览器测试框架的基本流程包括:
- 浏览器管理: Lanch 和 Connect 到一个浏览器
JavaScript
import puppeteer from "puppeteer";
// 连接一个浏览器
const browser = await puppeteer.launch();
/*
业务逻辑
*/
// 关闭浏览器
await browser.close();
- 创建一个 page
- 然后使用 puppeteer 提供的 API 来操作这个页面