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

运行Puppeteer Cluster示例报错:Unable to get browser page

解决puppeteer-cluster报错"Error: Unable to get browser page"

问题核心原因

从调试日志的this.browser.createIncognitoBrowserContext is not a function错误信息可以确定,问题出在puppeteer与puppeteer-cluster版本不兼容,或是你安装的是仅提供核心API的puppeteer-core而非完整的puppeteer包(后者会自动下载浏览器并支持全部上下文相关API)。

可行解决方案

1. 安装兼容版本组合

puppeteer-cluster对puppeteer的版本有明确依赖要求,建议直接安装经过验证的稳定兼容版本:

# 先卸载现有冲突依赖
npm uninstall puppeteer puppeteer-cluster puppeteer-core
# 安装最新兼容版本
npm install puppeteer@latest puppeteer-cluster@latest

2. 替换并发模式(降级方案)

如果暂时无法升级版本,可以修改集群配置,使用页面级并发替代上下文级并发,绕过隐身上下文的创建逻辑:

const { Cluster } = require('puppeteer-cluster');

(async () => {
  const cluster = await Cluster.launch({
    concurrency: Cluster.CONCURRENCY_PAGE, // 替换原CONCURRENCY_CONTEXT
    maxConcurrency: 2,
  });

  await cluster.task(async ({ page, data: url }) => {
    await page.goto(url);
    const screen = await page.screenshot();
    // 后续处理逻辑
  });

  cluster.queue('http://www.google.com/');
  cluster.queue('http://www.wikipedia.org/');

  await cluster.idle();
  await cluster.close();
})();

3. 验证修复效果

执行以下步骤确保依赖完全更新:

rm -rf node_modules package-lock.json
npm install

之后重新运行代码,检查报错是否消失。

内容的提问来源于stack exchange,提问作者Silvestro De Caro

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 06:44:54