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

    文章

    3927

    浏览量

    127197
  • API
    API
    +关注

    关注

    2

    文章

    1489

    浏览量

    61854
  • Firefox
    +关注

    关注

    0

    文章

    97

    浏览量

    13652
  • 浏览器
    +关注

    关注

    1

    文章

    1016

    浏览量

    35294

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

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

收藏 人收藏

    评论

    相关推荐

    写一个Chrome浏览器插件

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

    iOS版Chrome浏览器如何启用分组标签页功能

    此项功能现已在 Android 及 iPad 版 Chrome 上线,旨在协助用户对开启的标签页进行分类,如按工作、娱乐、个人等类别设立标签组。
    的头像 发表于 05-28 11:46 605次阅读

    Chrome移动版支持自定义菜单栏功能

    在先前版本中,用户通过点击浏览器右上角的三个点按钮即可调出包含各类图标与操作的菜单。而此次更新后,Chrome新增了“自定义菜单”选项,允许用户自主控制该区域的展示内容。
    的头像 发表于 05-27 15:00 759次阅读

    谷歌Chrome浏览器新增功能:生成随机右键菜单密码

    据悉,Google已于Canary版本Chrome浏览器添加了“Password manual fallback”的实验性标志,支持用户通过右键菜单生成密码建议。
    的头像 发表于 05-14 09:46 884次阅读

    谷歌Chrome浏览器新版Favicon未对齐问题获确认

    作为Chrome 123的升级,2023年度的Chrome Refresh采用了Material 3界面元素。然而,部分用户对此不甚满意,选择在chrome://flags页面取消这些更改。
    的头像 发表于 04-23 10:35 557次阅读

    Chrome浏览器新增摄像头与麦克风预览功能,解决会议操作困扰

    最近发布的 Chrome 123 版本中,用户可提前预览摄像头拍摄的画面以及麦克风的收音效果。要启动此功能,只需在 Chrome 地址栏输入“chrome://flags#camera-mic-preview”并按回车,然后选择
    的头像 发表于 04-15 11:07 921次阅读

    Mozilla Firefox浏览器推出Text Fragments功能,提升用户体验

    早在2020年,谷歌即在Chrome浏览器中推出了“Scroll to Text Fragments”功能,而Edge、Opera、Brave、Vivaldi以及苹果Safari等基于Chromium的浏览器也支持这一便捷特性
    的头像 发表于 04-08 10:21 604次阅读

    Firefox Nightly新增原生垂直标签特性

    近日,基于Mozilla旗下的Firefox浏览器用户向来期望其能集成垂直标签页功能,这一愿景在Mozilla Connect页面被热烈讨论,迫切欲望仅次于原生标签分组功能以及恢复对PWA应用的支持
    的头像 发表于 04-03 14:43 788次阅读

    安卓版Chrome浏览器现已支持第三方密码管理器调用

    据报道,数据解析专家Leppeva64近日在安卓版谷歌Chrome浏览器的源代码中透露,该浏览器已在安卓平台上实现了对第三方密码管理器的调用支持,并覆盖Stable、Beta及Canary版本。
    的头像 发表于 03-19 11:04 672次阅读

    狐安卓版将支持新标签页与隐藏设置功能

    想要体验此新增功能,在火狐浏览器Nightly之中,只需操作以下步骤:设置—关于Firefox Nightly—Firefox标志按满5下就可启动。
    的头像 发表于 03-04 14:25 458次阅读

    Mozilla发布Firefox 123.0稳定版,新添网站兼容性报告工具

    2023年2月20日,Mozilla发布Firefox 123.0稳定版及115.9 ESR版本,并更迭Beta、Dev、Nightly三个开发频道版本至124、125;手机版Firefox亦升级到123.0。
    的头像 发表于 02-20 15:45 630次阅读

    微软等公司启动Interop 2024,以提升现代浏览器兼容性与用户体验

    该项目以“实现各种技术在各款浏览器中的无缝衔接”为宗旨。无论用户选择Edge、ChromeFirefox或Safari,所有网站在所支持的操作系统上都能提供同质化的浏览体验及性能。
    的头像 发表于 02-02 14:23 638次阅读

    Firefox长达21年的 “陈年老bug”,终于被修复了!

    Firefox 的工单记录页面显示,一个在 21 年前发现的 bug 终于被修复了。
    的头像 发表于 01-25 11:08 377次阅读
    <b class='flag-5'>Firefox</b>长达21年的 “陈年老bug”,终于被修复了!