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

更换为笔记本后运行Puppeteer报UnhandledPromiseRejectionWarning连接超时错误

核心报错原因

Puppeteer无法在默认30秒超时时间内拉起匹配版本的Chrome浏览器,更换设备后环境变动是直接诱因,报错信息明确要求的Chrome版本为r901912。

可行解决方案

  • 修复浏览器版本不匹配问题
    新设备大概率未安装对应版本的Chromium,先删除项目node_modules目录,重新执行npm install,安装过程不要跳过Chromium自动下载步骤。如果网络问题无法自动下载,可手动下载r901912版本Chromium,启动时手动指定路径:
    const browser = await puppeteer.launch({
      executablePath: '替换为你本地Chromium的实际文件路径'
    })
    
  • 修复WSL环境依赖缺失问题
    从报错路径/mnt/c/可知你在WSL环境中运行代码,WSL默认缺少Chromium运行需要的图形依赖,执行以下命令安装依赖:
    sudo apt install libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 libxfixes3 libxrandr2 libgbm1 libasound2
    启动时添加无沙箱、无头模式参数避免图形界面要求:
    const browser = await puppeteer.launch({
      headless: true,
      args: ['--no-sandbox', '--disable-setuid-sandbox']
    })
    
  • 延长启动超时阈值
    如果新设备性能较低,30秒不足以完成浏览器启动,可手动调整超时时间:
    const browser = await puppeteer.launch({
      timeout: 60000 // 超时时间调整为60秒
    })
    
  • 补充异步异常捕获
    后续的未处理Promise报错是因为代码未加异常捕获逻辑,补全后可更方便定位问题:
    puppeteer.launch().then(async browser => {
      // 此处写入你的业务逻辑
    }).catch(err => {
      console.error('浏览器启动失败:', err)
    })
    

内容的提问来源于stack exchange,提问作者Trent325

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 07:12:03