首页 > 解决方案 > puppeteer 一起下载 firefox 和 chrome 二进制文件

问题描述

我可以通过设置环境变量为我的项目下载 firefox 二进制文件:

npm config set PUPPETEER_PRODUCT firefox npm i puppeteer

然后在我的项目中运行:

npm i puppeteer

这工作正常。但是,当我将其更改回 chrome 并重新安装时:

npm config set PUPPETEER_PRODUCT chrome npm i puppeteer
npm i puppeteer

它将删除 firefox 二进制文件并仅重新安装 chrome。我尝试在切换PUPPETEER_PRODUCT环境变量后运行npm update但这不起作用并且没有任何更新。

如何同时下载 Firefox 和 chrome 二进制文件?那我可以轻松切换产品价值吗?

client = await puppeteer.launch({  product: 'firefox'  }); // or product: 'chrome'

请注意,我不能只创建一个 hello world 项目并设置product: 'firefox',因为二进制文件不存在并且不会自动下载。对于任何默认的 puppeteer 安装,只会存在 chrome 二进制文件。

在您将环境变量PUPPETEER_PRODUCT更改为firefox并重新安装 puppeteer 并下载 firefox 二进制文件之前,切换到 firefox 将不起作用。

标签: node.jsgoogle-chromefirefoxnpmpuppeteer

解决方案


看来您只能通过终端在 Windows 上使用此命令:

  • PUPPETEER_PRODUCT=firefox npm install puppeteer

在 linux 上,您可以运行上面的命令,它将下载二进制文件。在 linux 上其实没必要用这个:

  • npm 配置设置 PUPPETEER_PRODUCT firefox npm i puppeteer

推荐阅读