0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Firefox、Chrome和Puppeteer已支持WebDriver BiDi

谷歌开发者 来源:Android 开发者 2024-11-06 16:35 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

以下文章来源于 Android 开发者,作者 Google 作者 /Matthias Rohmer

近期,我们与 BrowserStack 一起见证了 WebDriver BiDi 在 BrowserStack 中正式投入使用。并且 WebDriver BiDi 也继续得到了完善,Firefox 129 及 Puppeteer 23 均已获得对 WebDriver BiDi 的生产就绪 (production-ready) 支持!

四年多来,Mozilla 一直是 WebDriver BiDi 的重要合作伙伴,在初期帮助制定了新标准,然后在 Firefox 中逐步实现,并通过 Firefox WebDriver Newsletter 清晰地记录了他们的进展。

由于 WebDriver BiDi 现已在 Firefox 中正式投入使用,Puppeteer 从版本 23 开始,可通过 WebDriver BiDi 为 Firefox 提供稳定支持。这样,您便可使用与 Chrome 相同的简洁 API 将 Firefox 自动化。Puppeteer 对 Chrome 开发者工具协议 (CDP) 的支持保持不变。

提示:如要进一步了解 WebDriver BiDi,请参阅 WebDriver BiDi-跨浏览器自动化的未来。

Firefox、CDP 和 Puppeteer

Puppeteer 是开发者使用 Chrome 开发者工具协议 (CDP) 将基于 Chromium 的浏览器自动化的可靠工具。2019 年,Puppeteer 获得了对 Firefox 的实验性支持。 为此,Mozilla 在 Firefox 中实施并维护了一个 CDP 子集。此解决方案能让 Firefox 通过 Puppeteer API 实现自动化,但也有一些注意事项:

顾名思义,CDP 由 Chrome 开发者工具所调用,需要根据开发者工具的要求进行更改。

CDP 未根据共享的公共规范进行标准化,在 Firefox 中对其进行维护需要团队间顺畅的沟通和持续的努力。

由于 Firefox 只实施了 CDP 的一个子集,Puppeteer 无法保证其完整的 API 能与 Firefox 兼容,可能会给用户造成困扰。

虽然我们很高兴在过去几年中与 Mozilla 一起维护此支持,但我们深知这并非长久之计。以此合作伙伴关系为基础,再联合其他主要的浏览器和工具供应商,我们共同构建了 WebDriver BiDi。

提示:如需进一步了解 WebDriver BiDi 的发展历程,请参阅回顾过往: 测试自动化的演变和发展。

团队合作成就梦想

Firefox 团队一直致力在 Firefox 中实施 WebDriver BiDi。与此同时,Puppeteer 团队一直在扩展对 Puppeteer API 的 WebDriver BiDi 支持。两个团队共同努力的目标是借助 Puppeteer 中的 WebDriver BiDi 为生产自动化用例提供所有所需的可用 API,确保这些 API 在 Chrome 和 Firefox 中均受到支持。

如此,Puppeteer 用户便能在启动 Puppeteer 实例时指定 browser 配置键值,从而选择 Firefox 或 Chrome 来实现自动化。

import puppeteer from 'puppeteer';


const firefoxBrowser = await puppeteer.launch({
  browser: 'firefox', // WebDriver BiDi is used by default in Firefox.
});
const page = await firefoxBrowser.newPage();
...
await firefoxBrowser.close();


const chromeBrowser = await puppeteer.launch({
  browser: 'chrome',  
  protocol: 'webDriverBiDi', // CDP would be used by default for Chrome.
});
const page = await chromeBrowser.newPage();
...
await chromeBrowser.close();

如要进一步了解 Firefox 129 全新功能以及 Mozilla 在 WebDriver BiDi 方面的工作进展,请参阅相关的 Mozilla Hacks 博文。

未来的 CDP 支持

上述代码段显示了,要借助 Puppeteer 使用 WebDriver BiDi 实现 Chrome 自动化,您需要将 protocol 明确设置为 webDriverBiDi。这是因为对于 Chrome,Puppeteer 将始终默认使用 CDP,从而防止现有自动化受到影响,并同时继续支持专门针对 Chrome 功能而构建的自动化。

提示:如要进一步了解 Chrome、Firefox、CDP 和 WebDriver BiDi 支持的 Puppeteer API,请参阅 Puppeteer 文档。

从 Firefox 129 版本开始,Firefox 将弃用 CDP 支持,并计划于 2024 年底移除该支持。如果您现有的自动化依赖于 Firefox 中的 CDP 支持,我们强烈建议您迁移至 WebDriver BiDi。如果无法实现,请通过 dev-webdriver@mozilla.org 与我们联系,分享您的用例。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Android
    +关注

    关注

    12

    文章

    3985

    浏览量

    133049
  • API
    API
    +关注

    关注

    2

    文章

    2147

    浏览量

    66224
  • Firefox
    +关注

    关注

    0

    文章

    97

    浏览量

    14279
  • 浏览器
    +关注

    关注

    1

    文章

    1042

    浏览量

    36906

原文标题:正式就绪 | Firefox、Chrome 和 Puppeteer 已支持 WebDriver BiDi

文章出处:【微信号:Google_Developers,微信公众号:谷歌开发者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    多款游戏支持支持NVIDIA DLSS 4技术

    畅玩 Activision 的《使命召唤:黑色行动 7》、《纪元 117:罗马和平》及《欧陆风云 V》做好准备。 《最终幻想 VII 重生》 今年早前首发时,《最终幻想 VII 重生》支持
    的头像 发表于 11-12 17:34 610次阅读

    元服务配置支持设备

    为单设备。但是一旦发布,升级版本只支持增加设备,无法删除选择的设备。 当设备类型包含手机时,即便包里未声明平板,元服务也会默认以兼容的方式分发到HarmonyOS NEXT平板。若您已在包中声明了平板
    发表于 10-22 16:54

    沐曦曦云C系列产品支持TileLang

    近日,DeepSeek宣布在其新版本中拥抱国产GPU语言TileLang,引发业界广泛关注。作为国产高性能GPU的代表,沐曦曦云C系列产品率先在这一新兴开源社区获得支持。TileLang项目是由
    的头像 发表于 10-14 09:25 635次阅读
    沐曦曦云C系列产品<b class='flag-5'>已</b><b class='flag-5'>支持</b>TileLang

    AI赋能谷歌Chrome与Web工具全面升级

    2025 Google 谷歌开发者大会带来了最新 Web 工具,包括全面升级的 Chrome 开发体验、极大简化的 UI 开发,到云端两侧的 AI 部署。这些强大的工具为出海开发者提供了前所未有的加速,帮助他们更高效地打造面向全球用户的 Web 应用。
    的头像 发表于 08-29 09:33 820次阅读

    10G BiDi SFP+ 光模块SC与LC接口对比分析及部署场景建议

    随着数据中心、企业网络和运营商网络对高速光通信需求的不断提升,10G BiDi SFP+ 光模块因其单纤双向(BiDi)传输特性,凭借节省光纤资源、部署灵活等优势,成为当前主流的短距离光通信解决方案
    的头像 发表于 08-08 15:45 1002次阅读
    10G <b class='flag-5'>BiDi</b> SFP+ 光模块SC与LC接口对比分析及部署场景建议

    2025电赛题目问答(更新)

    2025电赛题目问答(更新)
    的头像 发表于 07-30 12:59 4594次阅读
    2025电赛题目问答(<b class='flag-5'>已</b>更新)

    KiCad 支持导入 Altium 工程(Project)

    支持 Altium 文件的导入,且直接支持二进制 *.schdoc, *.pcbdoc 的导入。后续版本也支持了 Altium ascii 格式的导入。但美中不足的不是,需要分开导入原理图、PCB,无法
    的头像 发表于 07-21 11:15 2578次阅读
    KiCad <b class='flag-5'>已</b><b class='flag-5'>支持</b>导入 Altium 工程(Project)

    BiDi单纤光模块和双纤光模块有什么区别?

    BIDI单纤双向光模块技术解析‌ 一、核心工作原理 ‌WDM波分复用技术‌ BIDI模块通过WDM技术在同一根光纤中实现双向传输,其收发方向采用互补波长组合(如1310nm发射/1550nm接收或
    的头像 发表于 06-12 15:47 1041次阅读

    揭秘Chrome DevTools:从原理到自定义调试工具

    引言 Chrome DevTools 是前端开发者的必备工具,不仅可以用于调试 Chrome 网页,还支持 Android WebView、 Roma (跨平台开发框架) 安卓&鸿蒙端 等平台的调试
    的头像 发表于 03-04 14:49 1207次阅读
    揭秘<b class='flag-5'>Chrome</b> DevTools:从原理到自定义调试工具

    dlpc3433是否支持通过pixel shift来实现atw的功能?

    dlpc3433是否支持通过pixel shift来实现atw的功能,帮助改善拖影和color break问题
    发表于 02-26 08:19

    维智科技正式接入DeepSeek

      维智科技正式接入DeepSeek! 飞吉特平台(维智科技自研时空AI技术平台)的时空数据建模能力(如城市应急推演、社区精细化管理、人流热力预测、商业选址评估)将与DeepSeek的多模态理解
    的头像 发表于 02-22 14:21 1153次阅读

    2024年12月浏览器市场份额报告:谷歌Chrome稳居榜首

    根据市场调查机构Statcounter最新发布的权威报告,2024年12月全球浏览器市场份额排行榜中,谷歌Chrome浏览器再次以卓越的表现稳居首位。数据显示,Chrome的市场占有率高达68.38
    的头像 发表于 01-02 14:58 3223次阅读

    谷歌回应美司法部要求:出售Chrome计划极端且违法

    近日,Alphabet公司旗下的谷歌公司针对美国司法部要求其出售Chrome浏览器的计划,发表了正式回应。谷歌表示,该计划“极端”且与法律相悖,并呼吁联邦法院法官在裁决时保持谨慎,以免对创新和未来
    的头像 发表于 12-23 11:44 1373次阅读

    Arm原生Google Chrome增强Windows on Arm性能

    微软 Windows 10 和 Windows 11 集成了 Arm 原生支持,这保证了为 Windows 开发更多 Arm 原生应用。这种支持提供了额外的工具,以简化应用移植、增强应用性能并降低功耗。因此,很多公司目前正在为 Windows 投资 Arm 原生应用。
    的头像 发表于 12-17 10:25 1663次阅读

    Chrome浏览器优化Android性能,骁龙8至尊版表现突出

    谷歌近日对Chrome浏览器的最新版本进行了重大更新,特别针对Android设备进行了性能优化,特别是对于搭载骁龙8至尊版处理器的旗舰设备而言。 自Chrome M112版本以来,Android
    的头像 发表于 12-13 14:44 1715次阅读