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

为什么使用puppeteer-stream时Chromium无法以headless模式启动

问题原因

  • puppeteer-stream 库的默认配置覆盖了你传入的headless: true参数:为了规避旧版Chromium无头模式对音视频捕获、页面渲染能力的兼容性问题,该库早期版本内部默认强制禁用无头模式,会忽略用户传入的headless配置项,始终启动有头浏览器。
  • 如果你使用的是V19及以上版本的Puppeteer,旧写法headless: true对应的是旧版无头模式,本身对媒体流捕获的支持不完善,也可能导致库强制绕过该配置启动有头模式。

解决方法

方案1:指定新版无头模式(推荐)

Puppeteer V19+推出的新版无头模式headless: 'new'和普通有头模式的功能几乎完全一致,支持音视频捕获,你可以强制传入该参数覆盖库的默认配置:

const browser = await launch({
  headless: 'new',
  // 强制给Chromium传递新版无头参数,覆盖库的默认配置
  args: ['--headless=new']
});

方案2:手动忽略库的默认禁用无头参数

如果方案1不生效,可通过ignoreDefaultArgs配置主动过滤掉库默认注入的禁用无头参数:

const browser = await launch({
  headless: 'new',
  // 忽略库默认传入的禁用无头参数
  ignoreDefaultArgs: ['--headless=false'],
  args: ['--headless=new', '--no-sandbox', '--disable-gpu']
});

如果修改后依然有问题,可将puppeteer和puppeteer-stream升级到最新稳定版后再测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 00:54:07