Puppeteer核心库v24.8.0发布:新增浏览器扩展管理能力
项目简介
Puppeteer是一个由Google Chrome团队维护的Node.js库,它提供了一套高级API来控制Chromium或Chrome浏览器。通过Puppeteer,开发者可以自动化完成网页截图、PDF生成、表单提交、UI测试等浏览器操作。Puppeteer-core是Puppeteer的核心模块,不包含浏览器下载功能,适合需要自定义浏览器环境的场景。
版本亮点
最新发布的Puppeteer-core v24.8.0版本带来了几项重要更新,特别是在浏览器扩展管理方面有了显著增强。
浏览器扩展管理功能
-
enableExtensions启动选项
新版本新增了enableExtensions启动选项,允许开发者在启动浏览器时直接启用扩展功能。这个布尔值选项为扩展管理提供了基础支持。 -
installExtension/uninstallExtension方法
Browser类新增了两个关键方法:installExtension:用于安装浏览器扩展uninstallExtension:用于卸载已安装的扩展
这些新增功能为自动化测试中需要验证扩展行为的场景提供了官方支持,开发者现在可以更灵活地控制扩展的安装和卸载过程。
浏览器引擎更新
-
Chromium升级至136.0.7103.49
内置的Chromium浏览器引擎更新到了136版本,带来了最新的浏览器特性和安全修复。 -
Firefox升级至138.0.1
对Firefox的支持也同步更新到了138.0.1版本,修复了之前版本中存在的问题。
技术细节与改进
流传输错误处理优化
新版本改进了PipeTransport中的可写流错误处理机制。现在当管道传输过程中发生错误时,系统能够更可靠地捕获和处理这些异常,提高了自动化脚本的稳定性。
依赖项更新
底层依赖的@puppeteer/browsers包从2.10.2升级到了2.10.3版本,包含了浏览器管理相关的基础功能改进。
应用场景
这些更新特别适合以下开发场景:
- 浏览器扩展测试:现在可以自动化测试扩展的安装、卸载和功能验证
- 多扩展环境测试:验证不同扩展组合下的网页行为
- 浏览器兼容性测试:利用最新版浏览器引擎测试网页兼容性
升级建议
对于正在使用Puppeteer进行浏览器自动化测试的团队,建议评估新版本中的扩展管理功能是否能简化现有测试流程。特别是那些需要测试浏览器扩展交互的项目,这些新API将大大减少自定义实现的工作量。
升级时需要注意检查现有代码是否依赖特定浏览器版本的行为,因为新版浏览器引擎可能会引入细微的行为变化。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0231
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
JoyAI-VL-Interaction-Preview京东开源首个开源、视觉驱动的实时交互模型——它能实时监控视频流,并自主决定何时发言、保持沉默或委托任务。Jinja00
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0151
kornia🐍 空间人工智能的几何计算机视觉库Python02
PaddleParallel Distributed Deep Learning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署)C++02