在Render.com部署Puppeteer遇错:指定路径未找到浏览器
在Render.com部署Puppeteer Node.js应用时的浏览器定位错误解决求助
启动Puppeteer时持续报错:
Error during Puppeteer usage: Error: Browser was not found at the configured executablePath (/opt/render/.cache/puppeteer/chrome) at ChromeLauncher.launch (/opt/render/project/src/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserLauncher.js:76:19) ...
背景信息
- 使用Render.com作为部署平台
- 借助Puppeteer执行简单网页分析,如访问
https://www.google.com并打印页面标题 - 已尝试不同版本的Puppeteer,包括最新版
^21.0.0和旧版本19.7.5 - 目标是验证Puppeteer在该托管环境中是否正确安装并可运行
测试代码
用于验证Puppeteer功能的test.js脚本:
// Import Puppeteer const puppeteer = require('puppeteer'); // Main function to test Puppeteer async function testPuppeteer() { try { // Launch the browser in headless mode with necessary options const browser = await puppeteer.launch({ headless: true, args: ['--no-sandbox', '--disable-setuid-sandbox'] }); // Create a new page in the browser const page = await browser.newPage(); // Navigate to an example page await page.goto('https://www.google.com'); // Get the page title const title = await page.title(); console.log(`Page title (Google): ${title}`); // Close the browser await browser.close(); console.log('Puppeteer is working correctly!'); } catch (error) { // Handle errors if Puppeteer doesn't work correctly console.error('Error during Puppeteer usage:', error); } } // Run the test function testPuppeteer();
已尝试的解决方法
- 移除
executablePath配置项:让Puppeteer自动查找Chromium - 更换Puppeteer版本:试过最新版
^21.0.0和19.7.5 - 添加postinstall脚本:在
package.json中加入"postinstall": "npx puppeteer install",确保构建时安装Chromium - 设置CHROME_BIN环境变量:将其设为
/opt/render/.cache/puppeteer/chrome,但未解决问题
环境信息
- Node.js版本:
v20.15.1 - 托管平台:Render.com
- 操作系统:Linux(Render.com采用容器化环境)
问题与疑问
尽管尝试了上述所有方法,仍持续收到指定路径未找到Chromium的错误,Render.com似乎无法定位或正确安装浏览器。
想请教:
- 有没有人遇到过类似问题并找到在Render.com上使用Puppeteer的解决方案?
- 在这类服务器环境中,需做哪些特殊配置才能让Puppeteer找到Chromium?
- 对于有安装/运行限制的服务器,如何正确配置Puppeteer?
附package.json文件
{ "name": "wcag-web-analyzer", "version": "1.0.0", "scripts": { "start": "node server.js", "postinstall": "npx puppeteer install" }, "dependencies": { "express": "^4.18.2", "axios": "^1.3.0", "puppeteer": "^21.0.0", "axe-core": "^4.5.4" } }
内容的提问来源于stack exchange,提问作者Luca Mainieri
相关产品推荐
相关产品推荐

