WebDriver BiDi Logging Features
These features are related to logging. Because “logging” can refer to so many different things, these methods are made available via a “script” namespace.
双向是指通信同时在两个方向上进行. 传统的 WebDriver 模型涉及严格的请求/响应命令, 在任何时候都只允许单向通信. 在大多数情况下, 这正是您想要的;它能确保浏览器以正确的顺序执行预期的操作, 但异步交互也有许多有趣的地方.
目前, [Chrome DevTools Protocol] (CDP) 可以有限地提供这种功能, 但为了解决它的一些缺点, Selenium 团队与主要浏览器供应商一起创建了新的 WebDriver BiDi 协议. 该规范旨在创建一个稳定的跨浏览器 API, 利用双向通信增强浏览器自动化和测试功能、 包括通过 WebSockets 从用户代理到控制软件的流式事件. 用户将能在 Selenium 会话过程中监听、记录或操作事件.
为了使用 WebDriver BiDi, 在浏览器选项中设置该功能将启用所需的功能:
options.setCapability("webSocketUrl", true);
options.enable_bidi = True
UseWebSocketUrl = true,
options.web_socket_url = true
Options().enableBidi();
options.setCapability("webSocketUrl", true);
这将启用用于双向通信的 WebSocket 连接、 释放 WebDriver BiDi 协议的全部潜能.
请注意, Selenium 正在将其整个实现从 WebDriver Classic 升级到 WebDriver BiDi (同时尽可能保持向后兼容性) , 但本部分文档的重点是双向通信所允许的新功能.
终端用户可以在代码中访问低级 BiDi 域, 但我们的目标是提供高级应用程序接口, 这些应用程序接口是真实世界用例的直接方法. 因此, 我们将不对底层组件进行记录, 本节将只关注我们鼓励使用者利用的用户友好功能.
如果您希望看到其他功能, 请提出 功能请求.
These features are related to logging. Because “logging” can refer to so many different things, these methods are made available via a “script” namespace.
These features are related to networking, and are made available via a “network” namespace.
These features are related to scripts, and are made available via a “script” namespace.
使用 Selenium 操作 Chrome DevTools 协议的示例。 CDP 的支持是临时的,直到 WebDriver BiDi 实现为止。
Learn more or view the full list of sponsors.