Puppeteer VS Puppeteer-core

从v1.7.0以后每个版本发布两个包:

  1. puppeteer
  2. puppeteer-core

puppeteer是一款用于浏览器自动化的产品。安装后会下载Chromium,用puppeteer-core来驱动。puppeteer可支持一堆方便的PUPPETEER_ * env变量来调整其行为。

puppeteer-core是一个驱动任何支持DevTools协议的库。puppeteer-core在安装时不会下载Chromium。作为一个库,puppeteer-core完全通过其编程接口驱动,并忽略所有PUPPETEER_ * env变量。

puppeteer-core和puppeteer之间的区别可归结为以下两点:

  1. puppeteer-core在安装时不会自动下载Chromium。
  2. puppeteer-core忽略所有PUPPETEER_ * env变量。

在多数情况下可以使用puppeteer。
在以下情况下应该使用puppeteer-core:

  1. 构建基于DevTools协议的产品或库。例如,可以使用puppeteer-core构建PDF生成器并编写自定义install.js脚本,该脚本下载headless_shell而不是Chromium以节省磁盘空间。
  2. 你正在捆绑Puppeteer以在Chrome Extension /浏览器中使用DevTools协议,因为下载额外的Chromium二进制文件是不必要的。

使用puppeteer-core时,需更改以下代码:

const puppeteer = require('puppeteer-core');
posted @ 2019-06-13 15:41  王小薇  阅读(1372)  评论(0编辑  收藏  举报