You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

启动Edge浏览器时遭遇java.lang.IllegalAccessError问题求助

Selenium Edge浏览器启动报错解决方案

问题代码

package Selenium;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.edge.EdgeDriver;

public class www {    
    public static void main(String[] args) {
        // TODO Auto-generated method stub    
        System.setProperty("webdriver.edge.driver", "C://EdgeDriver.exe");    
        // Start Edge Session
        WebDriver driver = new EdgeDriver();    
        driver.get("https://google.com");    
        driver.quit();    
    }    
}

报错信息

Exception in thread "main" java.lang.IllegalAccessError: class org.openqa.selenium.remote.http.RetryRequest (in module org.seleniumhq.selenium.http) cannot access class dev.failsafe.function.CheckedFunction (in unnamed module @0x667a738) because module org.seleniumhq.selenium.http does not read unnamed module @0x667a738
    at org.seleniumhq.selenium.http/org.openqa.selenium.remote.http.RetryRequest.<clinit>(RetryRequest.java:39)
    at org.seleniumhq.selenium.http/org.openqa.selenium.remote.http.ClientConfig.<clinit>(ClientConfig.java:33)
    at org.seleniumhq.selenium.edge_driver/org.openqa.selenium.edge.EdgeDriver.<init>(EdgeDriver.java:56)
    at org.seleniumhq.selenium.edge_driver/org.openqa.selenium.edge.EdgeDriver.<init>(EdgeDriver.java:48)
    at org.seleniumhq.selenium.edge_driver/org.openqa.selenium.edge.EdgeDriver.<init>(EdgeDriver.java:44)
    at grdtyd/Selenium.www.main(www.java:14)

解决步骤

  • 匹配版本兼容性:确保EdgeDriver版本与本地Edge浏览器版本完全一致,同时使用4.x及以上的Selenium版本保证兼容性。
  • 修复模块权限问题:
    • 若为模块化Java项目,在module-info.java中添加requires dev.failsafe;,允许Selenium的http模块访问Failsafe库。
    • 非模块化项目,检查Failsafe依赖是否已正确添加到项目classpath,缺失则手动引入。
  • 更新驱动初始化方式:Selenium 4+推荐使用EdgeDriverService替代System.setProperty,示例代码:
    package Selenium;
    
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.edge.EdgeDriver;
    import org.openqa.selenium.edge.EdgeDriverService;
    import org.openqa.selenium.edge.EdgeOptions;
    import java.io.File;
    
    public class www {    
        public static void main(String[] args) {
            EdgeDriverService service = new EdgeDriverService.Builder()
                .usingDriverExecutable(new File("C://EdgeDriver.exe"))
                .build();
            EdgeOptions options = new EdgeOptions();
            WebDriver driver = new EdgeDriver(service, options);
            
            driver.get("https://google.com");    
            driver.quit();    
        }    
    }
    
  • 规范依赖管理:如果用Maven或Gradle,确保引入完整的Selenium和Failsafe依赖,Maven示例:
    <dependencies>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>4.15.0</version>
        </dependency>
        <dependency>
            <groupId>dev.failsafe</groupId>
            <artifactId>failsafe</artifactId>
            <version>3.3.2</version>
        </dependency>
    </dependencies>
    
  • 清理重建项目:删除项目缓存文件(如Maven的.m2缓存、IDE的target目录),重新构建项目,避免依赖加载异常。

内容的提问来源于stack exchange,提问作者john lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 05:48:24