首页
/ Puppeteer-core v24.2.0 版本更新解析

Puppeteer-core v24.2.0 版本更新解析

2025-05-31 16:55:25作者:柯茵沙

Puppeteer 是一个由 Google Chrome 团队开发的 Node.js 库,它提供了一个高级 API 来通过 DevTools 协议控制 Chromium 或 Chrome 浏览器。puppeteer-core 是 Puppeteer 的核心模块,它不包含浏览器本身,需要用户自行配置浏览器环境。

主要功能更新

新增键盘锁定和指针锁定权限支持

本次更新中,Puppeteer 新增了对键盘锁定(keyboard-lock)和指针锁定(pointer-lock)权限的支持。这两个功能在现代 Web 应用中越来越常见:

  1. 键盘锁定:允许网页捕获所有键盘输入,即使焦点不在该页面上。这在全屏游戏或多媒体应用中特别有用。

  2. 指针锁定:使鼠标指针被"锁定"在网页上,隐藏指针并允许无限移动。这对于第一人称视角游戏等需要连续鼠标输入的应用至关重要。

开发者现在可以通过 Puppeteer 的权限 API 来模拟这些权限的授予或拒绝,从而更全面地测试网页在不同权限状态下的行为。

浏览器版本升级

Puppeteer 24.2.0 版本同步更新了支持的浏览器版本:

  1. Chrome 升级至 133.0.6943.53:这个版本包含了最新的安全补丁和功能改进。值得注意的是,133 版本可能包含了一些新的 DevTools 协议特性,这些特性可能会在未来的 Puppeteer 版本中被利用。

  2. Firefox 升级至 135.0:对于使用 Puppeteer 与 Firefox 集成的开发者来说,这个更新确保了与最新 Firefox 版本的兼容性。

此外,还包含了一个针对 Chrome 132.0.6834.159 的修复性更新,这表明 Puppeteer 团队在持续跟踪浏览器版本的稳定性问题。

重要问题修复

WebDriver 用户代理设置改进

修复了一个关于 WebDriver 用户代理设置的问题。现在,用户代理可以被多次设置而不会出现问题。这个改进对于需要动态修改用户代理的测试场景特别重要,例如:

  • 测试网站在不同用户设备上的响应
  • 模拟爬虫行为
  • 验证用户代理检测逻辑

依赖项更新

Puppeteer-core 24.2.0 更新了其依赖的 @puppeteer/browsers 包至 2.7.1 版本。这个包负责管理浏览器二进制文件的下载和安装,更新可能包含了浏览器管理的改进或修复。

技术影响分析

对于自动化测试开发者来说,这些更新意味着:

  1. 更全面的权限测试能力,可以模拟更多现代 Web 应用场景
  2. 与最新浏览器版本的兼容性保证
  3. 更稳定的 WebDriver 集成,特别是在需要修改用户代理的场景下

对于需要特定浏览器版本的开发者,建议关注 Puppeteer 与浏览器版本的对应关系,确保测试环境的一致性。

升级建议

升级到 Puppeteer-core 24.2.0 时,开发者应该:

  1. 检查现有测试中是否使用了键盘锁定或指针锁定功能,考虑添加相应的权限测试用例
  2. 验证现有测试在 Chrome 133 和 Firefox 135 下的行为
  3. 如果使用了 WebDriver 并动态修改用户代理,可以简化相关代码

这个版本继续强化了 Puppeteer 作为现代 Web 自动化测试工具的领先地位,为开发者提供了更多控制和测试现代 Web 应用特性的能力。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
33
16
docsdocs
暂无描述
Markdown
843
5.65 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
835
1.27 K
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.04 K
2.44 K
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
841
1.67 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
507
540
flutter_flutterflutter_flutter
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.13 K
304
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
497
339
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.24 K
1.36 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.15 K
845