Puppeteer Core v24.0.0 发布:重大变更与浏览器兼容性调整
Puppeteer 是一个由 Google Chrome 团队维护的 Node.js 库,它提供了高级 API 来控制 Chromium 或 Chrome 浏览器。Puppeteer Core 是该库的核心版本,不包含自动下载的浏览器二进制文件,适合需要自定义浏览器环境的开发者使用。最新发布的 Puppeteer Core v24.0.0 版本带来了一些重要的变更和改进。
主要变更点
1. 移除对 Firefox 通过 CDP 的支持
在这个版本中,Puppeteer 团队决定移除对 Firefox 浏览器通过 Chrome DevTools Protocol (CDP) 的支持。这一变更意味着开发者将无法再使用 Puppeteer 通过 CDP 协议来控制 Firefox 浏览器。这一决策可能是基于 Firefox 对 CDP 支持的不完整性和维护成本的考虑。
对于仍需要在 Puppeteer 中使用 Firefox 的开发者,建议使用 WebDriver 协议作为替代方案。Puppeteer 仍然支持通过 WebDriver 协议与 Firefox 交互,这提供了更稳定和标准化的浏览器自动化方式。
2. 移除已弃用的启动和连接选项
v24.0.0 版本清理了多个已标记为弃用的启动(Launch)和连接(Connect)选项。这些选项在之前的版本中已经被标记为弃用,现在被完全移除以提高代码的整洁性和维护性。
开发者需要检查他们的代码,确保不再使用这些已被移除的选项。常见的被移除选项可能包括一些过时的浏览器启动参数或连接配置。这一变更有助于简化 Puppeteer 的 API 表面,减少维护负担。
3. URL 片段包含变更
HTTPRequest 和 HTTPResponse 实例返回的 URL 现在将包含 URL 片段部分。这是一个行为变更,意味着如果请求或响应的 URL 包含片段标识符(如 #section),现在这些片段将被包含在返回的 URL 中。
这一变更使 Puppeteer 的行为更符合 Web 标准,因为 URL 片段是 URL 规范的一部分。开发者需要注意这一变化,特别是那些依赖于 URL 比较或解析的代码可能需要相应调整。
浏览器兼容性更新
Firefox 升级至 134.0 版本
Puppeteer Core v24.0.0 将支持的 Firefox 版本升级到了 134.0。这一更新确保了 Puppeteer 与最新版 Firefox 的兼容性,提供了更好的稳定性和功能支持。
Chrome 升级至 131.0.6778.264 版本
同样地,Chrome 的支持版本也被更新到了 131.0.6778.264。这一更新包含了 Chrome 的最新安全补丁和功能改进,确保 Puppeteer 用户能够利用最新的浏览器功能。
错误修复与改进
WebDriver 错误处理增强
新版本改进了对 WebDriver 协议中 DiscardedBrowsingContextError 错误的处理。这种错误通常发生在浏览上下文被丢弃时,如页面被关闭或导航导致的前后文失效。改进后的错误处理使 Puppeteer 在这些情况下表现更加稳定和可预测。
杂项修复
版本中还包含了一些杂项修复,如移除了错误的变更日志条目,确保文档的准确性。这些看似小的改进实际上对于维护项目的可信度和开发者体验非常重要。
依赖项更新
Puppeteer Core v24.0.0 将 @puppeteer/browsers 依赖项从 2.6.1 升级到了 2.7.0 版本。这个包负责处理浏览器二进制文件的管理,更新后的版本可能包含浏览器下载、安装和管理方面的改进。
升级建议
对于计划升级到 v24.0.0 的开发者,建议:
- 仔细检查代码中是否使用了已被移除的 Firefox CDP 支持
- 确认没有使用已被弃用的启动和连接选项
- 测试 URL 处理逻辑,确保能够正确处理包含片段的 URL
- 考虑测试环境中的浏览器版本是否与新版本 Puppeteer 兼容
这些重大变更虽然短期内可能需要一些适配工作,但从长远来看有助于 Puppeteer 项目的健康发展和更好的开发者体验。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C051
MiniMax-M2.1从多语言软件开发自动化到复杂多步骤办公流程执行,MiniMax-M2.1 助力开发者构建下一代自主应用——全程保持完全透明、可控且易于获取。Python00
kylin-wayland-compositorkylin-wayland-compositor或kylin-wlcom(以下简称kywc)是一个基于wlroots编写的wayland合成器。 目前积极开发中,并作为默认显示服务器随openKylin系统发布。 该项目使用开源协议GPL-1.0-or-later,项目中来源于其他开源项目的文件或代码片段遵守原开源协议要求。C01
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7GLM-4.7上线并开源。新版本面向Coding场景强化了编码能力、长程任务规划与工具协同,并在多项主流公开基准测试中取得开源模型中的领先表现。 目前,GLM-4.7已通过BigModel.cn提供API,并在z.ai全栈开发模式中上线Skills模块,支持多模态任务的统一规划与协作。Jinja00
agent-studioopenJiuwen agent-studio提供零码、低码可视化开发和工作流编排,模型、知识库、插件等各资源管理能力TSX0126
Spark-Formalizer-X1-7BSpark-Formalizer 是由科大讯飞团队开发的专用大型语言模型,专注于数学自动形式化任务。该模型擅长将自然语言数学问题转化为精确的 Lean4 形式化语句,在形式化语句生成方面达到了业界领先水平。Python00