gpt4 book ai didi

java - RemoteWebDriver 无法转换为 org.openqa.selenium.TakesScreenshot (Java)

转载 作者:行者123 更新时间:2023-11-30 06:53:44 24 4
gpt4 key购买 nike

我正在尝试使用 RemoteWebDriver 截取 Winium.Desktop 的屏幕截图。由于 RemoteWebDriver 没有实现 TakesScreenshot,我将该对象声明为 WebDriver。

WebDriver driver = new RemoteWebDriver(new URL(remoteUrl), desiredCapabilities);

WebDriver augmentedDriver = new Augmenter().augment(driver);
File screenshot = ((TakesScreenshot) augmentedDriver).getScreenshotAs(OutputType.FILE);

当我尝试将其转换到时,我得到:java.lang.ClassCastException:org.openqa.selenium.remote.RemoteWebDriver 无法转换为 org.openqa.selenium.TakesScreenshot

当我打印驱动程序类名时,我得到 RemoteWebDriver,尽管它被声明为 WebDriver。

我错过了什么?

最佳答案

RemoteWebDriver 确实实现了 TakesScreenshot,而 WebDriver 则没有。所以也许你可以摆脱 Actor 阵容,它会解决你的问题,尽管你得到这个异常很奇怪。我的猜测是,这可能是因为 Winium 的 RemoteWebDriver 实现不完整。

但是,如果您尝试在运行时使用 getClass() 检查类名,它会解析为实例的运行时类,这就是您得到 RemoteWebDriver 的原因。 .

所以对我来说,这似乎是 Winium 的一个缺陷

关于java - RemoteWebDriver 无法转换为 org.openqa.selenium.TakesScreenshot (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42210510/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com