You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Puppeteer v21.6.1是否支持欧拉系统?运行Demo报错求助

Puppeteer v21.6.1 欧拉系统适配问题解决指南

一、欧拉系统支持性说明

Puppeteer官方没有明确排除欧拉系统的支持,但欧拉基于CentOS/RHEL生态,和Ubuntu的依赖环境存在差异,兼容性问题大多集中在Chromium的运行环境上。

二、解决"Protocol error (Page.navigate): Target closed"错误的实操步骤

1. 手动适配Chromium环境

欧拉系统默认未预装适配的Chromium,Puppeteer自动下载的版本可能和系统库不兼容。先安装欧拉源内的Chromium:

yum install -y chromium

然后在代码里指定Chromium执行路径,同时添加参数规避系统限制:

const browser = await puppeteer.launch({
  headless: true,
  args: ['--disable-gpu', '--no-sandbox', '--disable-dev-shm-usage'],
  executablePath: '/usr/bin/chromium' // 路径根据实际安装情况调整
});
  • --no-sandbox:绕过欧拉系统的沙箱权限限制,避免浏览器启动失败
  • --disable-dev-shm-usage:解决欧拉系统共享内存不足导致的浏览器崩溃问题

2. 补全系统依赖库

Chromium运行需要图形、音频类依赖,欧拉系统默认可能缺失,执行以下命令安装:

yum install -y libX11 libXcomposite libXcursor libXdamage libXext libXi libXtst cups-libs libXScrnSaver libXrandr alsa-lib pango atk gtk3

3. 切换旧版无头模式

Puppeteer v21默认启用新版无头模式(headless: true等价于headless: 'new'),该模式在欧拉系统可能存在兼容性问题,换成旧版试试:

const browser = await puppeteer.launch({
  headless: 'old',
  args: ['--disable-gpu', '--no-sandbox', '--disable-dev-shm-usage']
});

4. 排查页面访问问题

确认目标URL在欧拉服务器上能正常访问,检查是否有防火墙拦截、代理配置异常等情况。可以先简化页面加载的等待策略测试:

await page.goto(url, { waitUntil: 'load', timeout: 120000 });

5. 开启日志排查崩溃原因

如果以上步骤无效,开启浏览器日志查看具体崩溃信息:

const browser = await puppeteer.launch({
  headless: 'old',
  args: ['--disable-gpu', '--no-sandbox', '--disable-dev-shm-usage', '--enable-logging', '--v=1'],
  dumpio: true // 将浏览器日志输出到控制台
});

内容的提问来源于stack exchange,提问作者成大人

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 14:13:11