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

Puppeteer的BrowserFetcher遭移除:求问原因、时间及替代方案

关于Puppeteer中createBrowserFetcher/BrowserFetcher移除的说明及替代方案

移除时间

createBrowserFetcher和BrowserFetcher在Puppeteer v21.0.0版本中被正式移除。

移除原因

核心原因是Puppeteer的架构重构:官方将浏览器下载、管理的核心逻辑从主包中拆分,整合到独立的@puppeteer/browsers工具包中,目的是简化主API的复杂度,统一浏览器版本管理逻辑,避免功能重复实现,同时让浏览器管理功能可以被其他工具复用。

替代方案

1. 依赖puppeteer自动下载(推荐)

安装puppeteer包时,会自动下载与当前版本兼容的Chromium,无需手动处理:

npm install puppeteer

2. 手动下载后指定路径

如果需要自行下载特定版本的Chromium,可以从Chrome for Testing资源页面获取对应平台的安装包,解压后在启动Puppeteer时通过executablePath指定路径:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({
    executablePath: '/your/path/to/chromium'
  });
  // 执行后续操作
  await browser.close();
})();

3. 使用官方拆分的@puppeteer/browsers包

这是官方推出的替代BrowserFetcher的工具包,提供了完整的浏览器下载、版本管理API:
首先安装包:

npm install @puppeteer/browsers

然后使用downloadBrowser方法下载浏览器:

const { downloadBrowser } = require('@puppeteer/browsers');

(async () => {
  // 下载稳定版Chrome,也可指定具体版本号如'118.0.5993.70'
  const browserPath = await downloadBrowser('chrome', 'stable');
  console.log('浏览器已下载至:', browserPath);
})();

相关参考资源

  • 移除BrowserFetcher的核心PR:Puppeteer仓库#10112,详细记录了架构重构的细节
  • 相关讨论议题:仓库#9139(你提到的议题)、#10054,讨论了功能移除后的替代方案
  • 官方迁移指南:Puppeteer v21版本迁移文档明确说明了该功能的移除及替代方案

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 01:20:07