线程“主”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() 以优雅地关闭和销毁 WebDriverWeb 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 线程切换 ( 判定当前线程是否是主线程 | 子线程中执行主线程方法 | 主线程中执行子线程方法 )

子线程怎么不阻塞主线程

QT中UI主窗口如何与子线程相互传递参数

java 子线程 回调 主线程

C++怎么在主线程中使用子线程的数据? 比如说主线程中有一个数组,如何在子线程中调用这个数组

EventBus事件通信框架 ( 发送事件 | 判断发布线程是否是主线程 | 子线程切换主线程 | 主线程切换子线程 )