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

在IntelliJ中用Maven搭建Selenium项目遇Java语法错误求助

问题分析与解决

核心问题拆解

  1. IDE自动生成重写方法的原因:WebDriver是Selenium的抽象接口,不能直接通过new WebDriver()实例化。IntelliJ IDEA检测到你试图实例化接口,自动触发匿名内部类的创建提示,帮你生成所有接口方法的空实现。
  2. 编译错误的直接原因:代码里的匿名内部类定义末尾缺少分号;,这是Java语法错误,导致编译器抛出java: illegal start of expression。

错误修复步骤

第一步:修正语法错误

在匿名内部类的末尾加上分号,即可解决当前编译报错:

WebDriver driver = new WebDriver() {
    // 所有重写方法...
}; // 此处必须添加分号

第二步:使用正确的驱动实例化方式

但上述空实现的匿名内部类没有实际作用,Selenium的正确用法是实例化具体的浏览器驱动类(比如ChromeDriver):

  1. 确保pom.xml中已添加匹配版本的Selenium与ChromeDriver依赖:
<!-- Selenium核心依赖 -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>4.8.3</version> <!-- 版本需与本地Chrome浏览器匹配 -->
</dependency>
<!-- ChromeDriver依赖 -->
<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-chrome-driver</artifactId>
    <version>4.8.3</version>
</dependency>
  1. 替换错误的实例化代码为标准写法:
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class FirstMavenPgm {
    public static void main(String[] args) {
        // 实例化ChromeDriver,无需手动实现WebDriver接口
        WebDriver driver = new ChromeDriver();
        
        // 示例操作
        driver.get("https://www.example.com");
        System.out.println(driver.getTitle());
        
        // 关闭浏览器
        driver.quit();
    }
}

额外说明

  • 若IntelliJ左侧未显示Maven面板,可通过View > Tool Windows > Maven打开,或点击右侧边栏的Maven图标调出。
  • ChromeDriver版本必须与本地安装的Chrome浏览器版本严格匹配,否则会出现浏览器启动失败问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 22:21:36