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

Ubuntu运行Selenium测试报IllegalStateException:驱动程序不存在求助

解决Ubuntu上Selenium运行时"The driver executable does not exist"异常

这个问题我之前帮不少开发者排查过,核心原因很明确——你在Ubuntu(Linux系统)里用了Windows专属的geckodriver.exe!.exe格式是Windows系统的可执行文件,Linux系统根本识别不了它,自然会抛出驱动不存在的异常。下面是一步步的解决方法:

步骤1:替换为Ubuntu适配的geckodriver

先删掉你当前的geckodriver.exe文件,然后去Mozilla官方的geckodriver发布页面,选择对应你Ubuntu系统架构的版本(比如64位系统选geckodriver-vX.X.X-linux64.tar.gz,把X替换成最新的版本号)下载到本地。

步骤2:解压并配置驱动执行权限

  1. 打开终端,进入存放下载文件的目录,执行解压命令:
    tar -xvzf geckodriver-vX.X.X-linux64.tar.gz
    
  2. 给解压后的geckodriver文件添加执行权限(Ubuntu默认会限制陌生文件的运行权限):
    chmod +x geckodriver
    

步骤3:修改代码中的驱动路径

把你代码里的路径从:

System.setProperty("webdriver.gecko.driver", "/root/Desktop/jarselenium/geckodriver.exe");

改成指向解压后的无.exe后缀的文件:

System.setProperty("webdriver.gecko.driver", "/root/Desktop/jarselenium/geckodriver");

可选优化:让系统自动识别驱动(不用写全路径)

如果你不想每次在代码里写完整的驱动路径,可以把geckodriver移动到系统的PATH目录下,比如/usr/local/bin:

sudo mv geckodriver /usr/local/bin/

之后代码里可以直接删掉System.setProperty这一行,Selenium会自动在系统PATH中找到geckodriver。

额外检查点

  • 确认驱动路径是否正确:在终端执行ls /root/Desktop/jarselenium/geckodriver,如果能显示文件信息,说明路径没问题。
  • 确认Ubuntu上已安装Firefox:执行firefox --version检查,要是没安装,用sudo apt install firefox命令快速安装。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:03:45