puppeteer vs puppeteer-core

未匹配的标注

自 v1.7.0 以后的每个版本,我们都会发布两个软件包:

puppeteer是用于浏览器自动化的产品。安装后,它将下载一个版本的Chromium,然后使用 puppeteer-core 驱动。 作为最终用户产品,puppeteer支持大量方便的PUPPETEER _ * env 变量来调整其行为。

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

总结起来,puppeteer-corepuppeteer之间的唯一区别是:

  • puppeteer-core在安装后不会自动下载 Chromium。
  • puppeteer-core 忽略所有 PUPPETEER _ * env 变量。

在大多数情况下,使用puppeteer包会很好。

不过,如果你是在 DevTools 协议的基础上构建另一个终端用户产品或库,你应该使用puppeteer-core:

  • 你要在 DevTools 协议的基础上构建另一个终端用户产品或库。例如,你可以使用puppeteer-core构建一个PDF生成器,然后编写一个自定义的install.js脚本,下载headless_shell而不是 Chromium 来节省磁盘空间。
  • 您正在将 Puppeteer 捆绑在 Chrome 插件 / 浏览器中使用 DevTools 协议,在这里不需要下载额外的 Chromium 二进制文件。
  • 您正在构建一套工具,其中puppeteer-core是其中的成分之一,并且您希望将install.js脚本的执行推迟到即将使用 Chromium 之前。

使用puppeteer-core时,请记住更改 include 行:

const puppeteer = require('puppeteer-core');

然后,您需要使用显式调用puppeteer.connect([options])puppeteer.launch([options])executablePath选项。

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/puppeteer/3.1.0...

译文地址:https://learnku.com/docs/puppeteer/3.1.0...

上一篇 下一篇
贡献者:2
讨论数量: 0
发起讨论 只看当前版本


暂无话题~