线程“主”java.lang.AbstractMethodError 中的异常:接收器类 org.openqa.selenium.chrome.ChromeOptions 未使用 Selenium 定
Posted
技术标签:
【中文标题】线程“主”java.lang.AbstractMethodError 中的异常:接收器类 org.openqa.selenium.chrome.ChromeOptions 未使用 Selenium 定义错误【英文标题】:Exception in thread "main" java.lang.AbstractMethodError: Receiver class org.openqa.selenium.chrome.ChromeOptions does not define error using Selenium 【发布时间】:2021-12-25 10:02:29 【问题描述】:import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class ShootingStrategies
public static void main(String[] args)
System.setProperty("webdriver.chrome.driver", "C:\\Users\\SP00780555\\Downloads\\chromedriver_win32\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://www.google.com");
一开始它运行成功,但一段时间后它开始显示此错误
Exception in thread "main" java.lang.AbstractMethodError: Receiver class org.openqa.selenium.chrome.ChromeOptions does not define or inherit an implementation of the resolved method 'abstract boolean is(java.lang.String)' of interface org.openqa.selenium.Capabilities.
at org.openqa.selenium.remote.RemoteWebDriver.init(RemoteWebDriver.java:176)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:112)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)
at ShootingStrategies.main(ShootingStrategies.java:7)
我正在使用 intellij 谁能帮我解决这个问题
【问题讨论】:
【参考方案1】:此错误消息...
Exception in thread "main" java.lang.AbstractMethodError: Receiver class org.openqa.selenium.chrome.ChromeOptions does not define or inherit an implementation of the resolved method 'abstract boolean is(java.lang.String)' of interface org.openqa.selenium.Capabilities.
......暗示 ChromeDriver 无法启动/产生新的浏览上下文,即 Chrome 浏览器 会话。
您的主要问题是您使用的二进制文件版本之间的不兼容。
解决方案
确保:
ChromeDriver 已更新到当前的ChromeDriver v95.0 级别。 Chrome 已更新到当前 Chrome 版本 95.0 级别。 (根据ChromeDriver v95.0 release notes)。 如果您的基本 Web 客户端 版本太旧,请卸载它并安装最新的 GA 和发布版本的 Web 客户端。 进行系统重启。 以非root用户身份执行@Test
。
始终在 tearDown()
方法中调用 driver.quit()
以优雅地关闭和销毁 WebDriver 和 Web Client 实例。
参考文献
您可以在以下位置找到相关的详细讨论:
How to fix: Error message in TestNG java.lang.AbstractMethodError: org.openqa.selenium.MutableCapabilities.is(Ljava/lang/String;)Z【讨论】:
以上是关于线程“主”java.lang.AbstractMethodError 中的异常:接收器类 org.openqa.selenium.chrome.ChromeOptions 未使用 Selenium 定的主要内容,如果未能解决你的问题,请参考以下文章
Android 异步操作Android 线程切换 ( 判定当前线程是否是主线程 | 子线程中执行主线程方法 | 主线程中执行子线程方法 )
C++怎么在主线程中使用子线程的数据? 比如说主线程中有一个数组,如何在子线程中调用这个数组
EventBus事件通信框架 ( 发送事件 | 判断发布线程是否是主线程 | 子线程切换主线程 | 主线程切换子线程 )