codecamp

puppeteer-vs-puppeteer-core

自 v1.7.0 以来的每个版本我们都发布了两个包:

  • puppeteer
  • puppeteer-core

puppeteer 是浏览器自动化的 产品。安装后,它会下载一个版本的 Chromium,然后使用puppeteer-core 驱动工作。作为最终用户产品,puppeteer 支持一堆方便的 PUPPETEER* env 变量来调整行为。 puppeteer-core 是一个 库 来帮助驱动任何支持 DevTools 协议的东西。puppeteer-core 在安装时不会下载 Chromium。作为一个库,puppeteer-core 是完全是通过其编程接口驱动的并忽略所有PUPPETEER* env 变量。 总结一下,puppeteer-core 与 puppeteer 不同的地方:

puppeteer-core 在安装时不
会自动下载 Chromium。

puppeteer-core忽略所有的 PUPPETEER_* env 变量.

在大多数情况下,你可以使用 puppeteer 包。 然而, 如果是下面这些情况那你需要使用 puppeteer-core:

  • 你正在构建 DevTools 协议顶部的另一个最终用户产品或库。例如,可以使用 puppeteer-core 构建 PDF 生成器并编写下载 headless_shell 的自定义install.js脚本而不是 Chromium 来节省磁盘空间。

  • 你正在打包 Puppeteer 用在 Chrome 扩展应用或浏览器中以使用 DevTools 协议,因为下载额外的 Chromium 二进制文件不是必须的。

当使用 puppeteer-core 时,使用下面这行代替原来的使用方式: const puppeteer = require('puppeteer-core');

Puppeteer 概要
Puppeteer 环境变量
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }