Selenium 3.11搭配GeckoDriver配置报错求助:驱动路径设置异常
解决Selenium设置GeckoDriver路径后仍报错的问题
我来帮你排查这个困扰你的问题,你的代码里有两个关键小错误,正是它们导致了这个IllegalStateException异常:
- 属性键里的多余空格:你写的
"webdriver. gecko.driver"中间多了一个空格,正确的属性键应该是"webdriver.gecko.driver"。这个空格会让Selenium无法识别到正确的系统属性,自然找不到驱动路径。 - Windows路径的转义问题:Java字符串中的反斜杠
\需要转义成\\,否则会被当成特殊字符处理。你写的"C:\geckodriver.exe"会被Java解析错误,正确写法应该是"C:\\geckodriver.exe",或者更简单的用正斜杠"C:/geckodriver.exe"(Java也支持这种路径格式)。
修正后的代码示例
public class TestFirefox { public static void main(String[] args) { // 修正属性键和路径转义 System.setProperty("webdriver.gecko.driver", "C:\\geckodriver.exe"); // 或者用正斜杠版本 // System.setProperty("webdriver.gecko.driver", "C:/geckodriver.exe"); // 后续初始化FirefoxDriver的代码 WebDriver driver = new FirefoxDriver(); // ... } }
另外补充两点建议:
- 版本兼容性:GeckoDriver v0.20官方支持Firefox 55-59版本,所以你用Firefox 59是完全匹配的,没必要降级到Firefox 40(这个版本太老,和Selenium 3.11兼容性反而不好)。
- 路径验证:确认
geckodriver.exe确实放在C盘根目录,如果放在其他文件夹,要把路径改成对应的位置,比如"D:\\tools\\geckodriver.exe"。
内容的提问来源于stack exchange,提问作者Rasika Sawant




