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

    文章

    3974

    浏览量

    130528
  • API
    API
    +关注

    关注

    2

    文章

    1665

    浏览量

    64255
  • Firefox
    +关注

    关注

    0

    文章

    97

    浏览量

    14045
  • 浏览器
    +关注

    关注

    1

    文章

    1041

    浏览量

    36416

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    KiCad 支持导入 Altium 工程(Project)

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

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

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

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

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

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

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

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

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

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

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

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

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

    美国司法部将推动谷歌出售Chrome浏览器

    美国司法部近日表示,将推动谷歌出售其Chrome浏览器业务,旨在打破谷歌在互联网领域的垄断地位。此外,司法部还要求谷歌采取措施,允许网站选择不使用人工智能技术。
    的头像 发表于 11-19 16:22 ?617次阅读

    写一个Chrome浏览器插件

    、浏览器插件有哪些种类 ?以chromium为内核的浏览器插件如Chrome ??firefox浏览器插件 ???safari浏览器插件 本文只介绍Chrome插件的原生开发流程。 三、插件目录介绍 a的文件名 文件介绍 man
    的头像 发表于 11-18 17:12 ?1094次阅读
    写一个<b class='flag-5'>Chrome</b>浏览器插件

    希姆计算的RISC-V矩阵扩展开源项目升级至0.5版本,支持向量+矩阵的实现

    希姆计算的RISC-V矩阵扩展开源项目升级至0.5版本-----支持向量+矩阵的实现范福杰博士&陈炜博士项目背景Background为了解决RISC-V在人工智能领域中指令碎片化
    的头像 发表于 11-12 01:08 ?3054次阅读
    希姆计算的RISC-V矩阵扩展开源项目<b class='flag-5'>已</b>升级至0.5版本,<b class='flag-5'>支持</b>向量+矩阵的实现

    25G SFP28 BIDI光模块介绍

    产品特征 SFP28 25G BIDI光模块所属分类:SFP28 25G系列最大速率高达25.78Gbps,采用可热插拔的SFP28封装1270nm/1330nm DFB/DML激光器
    发表于 11-11 10:23

    为什么无法下载SuperSpeedExplorerKitSetup_RevSS.exe?

    数据和 cookie(Chrome 浏览器),但仍然失败。 我试过 Edge 和 Firefox 浏览器,同样的浏览器清理,同样的问题。 是服务器有问题,还是网页本身有问题? 我手头有这块板子,却无能为力。
    发表于 09-26 07:19

    谷歌针对Android和iOS版Chrome发布五项更新

    在移动设备上搜索内容应该像在电脑上一样流畅。近期,我们针对 Android 和 iOS 版 Chrome 发布了五项更新,旨在让您能够更轻松地在手机或平板电脑上进行搜索。
    的头像 发表于 08-09 16:56 ?1091次阅读

    移远通信LTE-A模组跻身谷歌Chrome OS准入供应商行列

    物联网领域的领军企业移远通信近日传来喜讯,其旗舰级LTE-A模组EM060K-GL成功跻身谷歌Chrome OS的准入供应商行列,标志着移远通信在推动物联网技术与传统计算平台深度融合方面迈出了坚实
    的头像 发表于 08-07 17:53 ?1349次阅读

    谷歌Chrome浏览器新增三大AI功能,提升用户体验

    谷歌近日宣布,在其广受欢迎的Chrome浏览器中引入了三项前沿的AI技术功能,旨在为用户提供更加智能、便捷的浏览体验。这些新功能由Gemini技术强力驱动,目前已在Chrome桌面版上线,标志着谷歌在AI与浏览器融合方面的又一重要进展。
    的头像 发表于 08-05 11:26 ?1197次阅读