使用 remotewebdriver 使用 selenium 4 创建 devtools 会话

问题描述

试图运行 webdriver contianer 和 selenium 4 在创建 devtools 会话后得到:

class org.openqa.selenium.remote.RemoteWebDriver cannot be cast to class org.openqa.selenium.chrome.ChromeDriver 运行时:

scenarioContext.setDevTools(((ChromeDriver) scenarioContext.getDriver()).getDevTools());  

我该如何解决这个问题?我需要以某种方式将 remotewebdriver 转换为 chromedriver 才能使用 devtools。

解决方法

在 Selenium 3 中,ChromeDriver 有自己的从 RemoteWebDriver 类继承的实现。在 Selenium 4 中,ChromeDriver 继承自 ChromiumDriver(它扩展了 RemoteWebDriver)。 ChromiumDriver 类具有访问开发工具的预定义方法。