Puppeteer:为不同平台下载 Chromium

bal*_*nza 7 chromium electron puppeteer

我正在用 Puppeteer 构建一个 UI 自动化器,并将它作为一个电子封装的应用程序发送。除了这个问题外,它运行良好且流畅:

Chromium is not downloaded 当应用程序在与应用程序打包的平台不同的平台上执行时,将引发异常。

更好的说法是,我正在 Linux 环境中进行开发,并且我正在为 Linux 和 Windows 打包我的应用程序,Linux 应用程序运行良好,Windows 应用程序则不行。

问题是:Chromium 是在npm installtime下载的,并且是根据当前平台有选择地完成的。作为当前平台的Linux,这铬的很版本然后运regardlessly在每一个平台的应用程序。

我应该能够执行以下操作之一:

  1. 安装 npm 时下载全平台 Chromium(在开发机器上)
  2. 在打包时有选择地下载 Chromium(仍在开发机器上)
  3. 强制我的用户在运行时下载 Chromium(例如在第一次使用时)

问题是我没有找到任何可以用于此目的的 Puppeteer 配置。

谢谢

Pas*_*asi 3

Chromium 下载是在node_modules/puppeteer/install.jsnpm 安装期间完成的。您可以从应用程序的构建脚本中调用此代码。例如:

const Downloader = require('puppeteer/lib/Downloader');
const revision = require('puppeteer/package').puppeteer.chromium_revision;

Downloader.createDefault().downloadRevision('win64', revision, () => undefined)
  .then(() => { console.log('Done!') })
  .catch(err => { console.log('Error', err) })
Run Code Online (Sandbox Code Playgroud)

  • 我相信这个解决方案已经过时了,因为“ChromiumDownloader”似乎不再存在于 puppeteer 项目中的任何地方。 (3认同)