Puppeteer-core v24.2.0 版本更新解析
Puppeteer 是一个由 Google Chrome 团队开发的 Node.js 库,它提供了一个高级 API 来通过 DevTools 协议控制 Chromium 或 Chrome 浏览器。puppeteer-core 是 Puppeteer 的核心模块,它不包含浏览器本身,需要用户自行配置浏览器环境。
主要功能更新
新增键盘锁定和指针锁定权限支持
本次更新中,Puppeteer 新增了对键盘锁定(keyboard-lock)和指针锁定(pointer-lock)权限的支持。这两个功能在现代 Web 应用中越来越常见:
-
键盘锁定:允许网页捕获所有键盘输入,即使焦点不在该页面上。这在全屏游戏或多媒体应用中特别有用。
-
指针锁定:使鼠标指针被"锁定"在网页上,隐藏指针并允许无限移动。这对于第一人称视角游戏等需要连续鼠标输入的应用至关重要。
开发者现在可以通过 Puppeteer 的权限 API 来模拟这些权限的授予或拒绝,从而更全面地测试网页在不同权限状态下的行为。
浏览器版本升级
Puppeteer 24.2.0 版本同步更新了支持的浏览器版本:
-
Chrome 升级至 133.0.6943.53:这个版本包含了最新的安全补丁和功能改进。值得注意的是,133 版本可能包含了一些新的 DevTools 协议特性,这些特性可能会在未来的 Puppeteer 版本中被利用。
-
Firefox 升级至 135.0:对于使用 Puppeteer 与 Firefox 集成的开发者来说,这个更新确保了与最新 Firefox 版本的兼容性。
此外,还包含了一个针对 Chrome 132.0.6834.159 的修复性更新,这表明 Puppeteer 团队在持续跟踪浏览器版本的稳定性问题。
重要问题修复
WebDriver 用户代理设置改进
修复了一个关于 WebDriver 用户代理设置的问题。现在,用户代理可以被多次设置而不会出现问题。这个改进对于需要动态修改用户代理的测试场景特别重要,例如:
- 测试网站在不同用户设备上的响应
- 模拟爬虫行为
- 验证用户代理检测逻辑
依赖项更新
Puppeteer-core 24.2.0 更新了其依赖的 @puppeteer/browsers 包至 2.7.1 版本。这个包负责管理浏览器二进制文件的下载和安装,更新可能包含了浏览器管理的改进或修复。
技术影响分析
对于自动化测试开发者来说,这些更新意味着:
- 更全面的权限测试能力,可以模拟更多现代 Web 应用场景
- 与最新浏览器版本的兼容性保证
- 更稳定的 WebDriver 集成,特别是在需要修改用户代理的场景下
对于需要特定浏览器版本的开发者,建议关注 Puppeteer 与浏览器版本的对应关系,确保测试环境的一致性。
升级建议
升级到 Puppeteer-core 24.2.0 时,开发者应该:
- 检查现有测试中是否使用了键盘锁定或指针锁定功能,考虑添加相应的权限测试用例
- 验证现有测试在 Chrome 133 和 Firefox 135 下的行为
- 如果使用了 WebDriver 并动态修改用户代理,可以简化相关代码
这个版本继续强化了 Puppeteer 作为现代 Web 自动化测试工具的领先地位,为开发者提供了更多控制和测试现代 Web 应用特性的能力。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5-w4a8GLM-5-w4a8基于混合专家架构,专为复杂系统工程与长周期智能体任务设计。支持单/多节点部署,适配Atlas 800T A3,采用w4a8量化技术,结合vLLM推理优化,高效平衡性能与精度,助力智能应用开发Jinja00
jiuwenclawJiuwenClaw 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0194- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
AtomGit城市坐标计划AtomGit 城市坐标计划开启!让开源有坐标,让城市有星火。致力于与城市合伙人共同构建并长期运营一个健康、活跃的本地开发者生态。01
awesome-zig一个关于 Zig 优秀库及资源的协作列表。Makefile00