Chrome DevTools 协议端点
Google 提供了一个 /cdp/execute
端点,可以直接访问。每个 Selenium 绑定都提供一种方法,允许您将 CDP 域作为字符串传递,并将所需参数作为简单的映射传递。
许多浏览器提供“DevTools”,这是一组与浏览器集成的工具,开发者可以使用它们来调试 Web 应用程序并探索其页面的性能。Google Chrome 的 DevTools 使用一种称为 Chrome DevTools 协议(简称“CDP”)的协议。顾名思义,它不是为测试设计的,也不是为了拥有稳定的 API,因此功能在很大程度上取决于浏览器的版本。
WebDriver 双向协议是 W3C WebDriver 协议的下一代,旨在提供所有浏览器实现的稳定 API,但尚未完成。在此之前,Selenium 为实现它的浏览器(例如 Google Chrome、Microsoft Edge 和 Firefox)提供了对 CDP 的访问,从而允许你以有趣的方式增强测试。下面给出了一些你可以使用它的示例。
有三种不同的方法可以在 Selenium 中访问 Chrome DevTools。如果你在网上寻找其他示例,你可能会看到这些示例的混合和匹配。
有一些经常被引用的使用 CDP 的示例,但其实际价值有限。
查看这些文档中的示例,了解执行其他有用操作的方法
Google 提供了一个 /cdp/execute
端点,可以直接访问。每个 Selenium 绑定都提供一种方法,允许您将 CDP 域作为字符串传递,并将所需参数作为简单的映射传递。
每个 Selenium 绑定都会动态生成各种 CDP 域和功能的类和方法;这些与特定版本的 Chrome 绑定。
这些示例目前使用 CDP 实现,但当使用 WebDriver-BiDi 重新实现该功能时,相同的代码应该也能正常工作。
想支持 Selenium 项目吗?了解更多信息或查看完整赞助商列表。