node.js - 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 将不起作用。
解决方案
看来您只能通过终端在 Windows 上使用此命令:
- PUPPETEER_PRODUCT=firefox npm install puppeteer
在 linux 上,您可以运行上面的命令,它将下载二进制文件。在 linux 上其实没必要用这个:
- npm 配置设置 PUPPETEER_PRODUCT firefox npm i puppeteer
推荐阅读
- python - 根据其他列的输入在数据框中创建列
- javascript - 如何在javascript上实现异步和同步任务?
- docker - 使用 ansible 卷的组合列表启动 Docker 容器
- python - WTForms Validators 在编辑用户时检查字段的唯一性
- java - 处理来自 java 流的相邻重叠对
- java - 断开连接后使用SFTP下载InputStream时JSch“管道关闭”
- amazon-web-services - 直接在云形成中设置堆栈级标签,无需包装器模板
- encoding - 编辑后的视频会产生比原始图像更小的图像,即使分辨率更高
- python - 错误:Pandas 需要版本 '1.1.0' 或更新版本的 'xlrd'(当前安装版本 '1.0.0')
- arduino - 在 esp32 上为盖革计数器获取数据时出现问题