puppeteer 是一个 Chrome 官方出品的 headless Chrome node 库。它提供了一系列的 API, 可以在无 UI 的情况下调用 Chrome 的功能, 适用于爬虫、自动化处理等各种场景
安装
这里直接使用 npm 安装就行了,建一个简单的 node 项目,package.json 内容如下
1  | {  | 
安装好后,chromium 也会一起安装,位置在node_modules/puppeteer/.local-chromium。可以通过设置环境变量或者 npm config 中的 PUPPETEER_SKIP_CHROMIUM_DOWNLOAD 跳过下载。如果不下载的话,启动时可以通过 puppeteer.launch([options])配置项中的 executablePath 指定 Chromium 的位置。
测试
1  | const puppeteer = require('puppeteer')  | 
chromium 依赖安装
执行上面的代码报错,内容如下,大意就是缺少相关额库文件
1  | error while loading shared libraries: libcups.so.2: cannot open shared object file: No such file or directory  | 
根据库文件去反查在那个程序中。这里直接安装 cups-libs,记得去掉后面的版本号,不然子依赖不会安装。
1  | yum provides libcups.so.2  | 
再启动还是缺少其他库文件,直接到 chromium 的执行文件下查询依赖
1  | cd node_modules/puppeteer/.local-chromium/linux-686378/chrome-linux  | 
字体安装
1  | yum groupinstall "fonts" -y  | 


