MAC-m1芯片运行puppeteer失败问题

318 阅读1分钟

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打开失败,会提示这样的图片

截屏2023-12-17 19.30.19.png

找到解决方案: 使用以下命令移除对应的验证

xattr -c /Applications/Chromium.app

这样就可以了。

最后

虽然本地可以跑通了,但是在alpine liunx下部署的puppeteer还是不能启动,原因是缺少依赖包,在github找到了相关issue,但是仍没有解决方案。 寻思有什么puppeteer的代替品,比如jsdom,但是它没法发送http请求,所以最终解决方案是前端来人为触发这个模拟的行为。