在Google Colab中使用Puppeteer调用Chromium失败的求助
在Google Colab中运行Puppeteer调用Chromium失败的问题排查
问题现象
执行!node --trace-warnings test.js测试Puppeteer代码时,系统抛出错误:
Command '/usr/bin/chromium-browser' requires the chromium snap to be installed. Please install it with:snap install chromium
使用的Puppeteer代码如下:
const puppeteer = require('puppeteer'); const dotenv = require('dotenv'); dotenv.config(); (async () => { const browser = await puppeteer.launch({executablePath: '/usr/bin/chromium-browser'}); const page = await browser.newPage(); await page.goto('https://www.google.com'); await page.screenshot({ path: 'google.png', fullPage: true }); await browser.close(); })();
尝试过的无效解决方法
- 安装Chromium相关APT包:
!apt install chromium-chromedriver !cp /usr/lib/chromium-browser/chromedriver /usr/bin !apt install chromium-browser # 执行后问题未解决 - 通过Snap安装Chromium:
执行snap install chromium时报错:error: cannot communicate with server: Post http://localhost/v2/snaps/chromium: dial unix /run/snapd.socket: connect: no such file or directory - 尝试安装Snapd服务:
- 执行
!systemctl status snapd.service,返回snapd: unrecognized service - 依次执行
!sudo apt update && upgrade、!sudo apt install snapd - 安装完成后再次执行
snap install chromium,仍出现上述无法连接服务器的错误
- 执行
- 尝试替换为Brave浏览器:
- 将Puppeteer的
executablePath设置为"/opt/brave.com/brave",报错:(node:42514) UnhandledPromiseRejectionWarning: Error: Failed to launch the browser process! spawn /opt/brave.com/brave EACCES - 执行
chmod +x /opt/brave.com/brave后,问题依旧存在
- 将Puppeteer的
当前可行方案
使用Google Chrome可正常运行Puppeteer,只需将代码中的executablePath设置为"/opt/google/chrome/chrome"即可。
内容的提问来源于stack exchange,提问作者Aananda Giri
相关产品推荐
相关产品推荐

