mac使用puppeteer报错,UnhandledPromiseRejectionWarning: Error: Failed to launch the browser process!
问题原因:
没有在默认路径下找到Chromium。 解决方式就是自己手动安装,并且指定路径。
解决方式
第一步
执行以下命令就可以安装chromium
brew install chromium --no-quarantine
第二步
找到自己的安装路径,在使用puppeteer的地方重新引入。
const browser = await puppeteer.launch({
executablePath: '/Users/tal/Downloads/chrome-mac/Chromium.app/Contents/MacOS/Chromium',
});
但是在第一步安装chromium时候遇到了失败
通过homebrew安装后的chromium打开失败,会提示这样的图片
找到解决方案: 使用以下命令移除对应的验证
xattr -c /Applications/Chromium.app
这样就可以了。
最后
虽然本地可以跑通了,但是在alpine liunx下部署的puppeteer还是不能启动,原因是缺少依赖包,在github找到了相关issue,但是仍没有解决方案。 寻思有什么puppeteer的代替品,比如jsdom,但是它没法发送http请求,所以最终解决方案是前端来人为触发这个模拟的行为。