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

无法在Selenium 3.10.0中启动Firefox 0.19.1的技术求助

解决Selenium 3.10.0启动Firefox时的连接异常问题

嘿,我来帮你搞定这个Firefox启动失败的问题!你遇到的org.openqa.selenium.WebDriverException: java.net.ConnectException错误,大概率是版本不兼容或者配置细节出了问题,下面给你几个针对性的解决方案:

先查版本兼容性!这是核心问题

Selenium、geckodriver和Firefox浏览器三者的版本必须严格匹配,不然很容易出连接问题:

  • 你用的Selenium 3.10.0,对应的geckodriver推荐版本是v0.20.0及以上,而你现在用的v0.19.1和3.10.0确实存在兼容性冲突,这很可能是问题根源
  • 另外,Firefox浏览器版本也要和geckodriver匹配:比如geckodriver v0.20.0支持Firefox 55-57,v0.21.0支持55-59,你得确认自己的Firefox版本在对应范围内,建议升级到兼容的稳定版

代码小调整,避免潜在坑

你的代码逻辑没问题,但可以优化下路径写法和显式配置,减少出错概率:

  1. 用File.separator适配不同系统的路径分隔符,避免硬写反斜杠出问题
  2. 显式指定Firefox的安装路径,防止系统找不到默认位置

优化后的代码参考:

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;
import java.io.File;

public class SampleClass { 
    public static void main(String[] args) { 
        // 用File.separator适配Windows/Linux的路径分隔符
        String geckoDriverPath = "E:" + File.separator + "geckodriver-v0.19.1-win32" + File.separator + "geckodriver.exe";
        System.setProperty("webdriver.gecko.driver", geckoDriverPath);
        
        // 显式指定Firefox的安装路径,替换成你自己的实际路径
        FirefoxOptions options = new FirefoxOptions();
        options.setBinary("C:\\Program Files\\Mozilla Firefox\\firefox.exe"); 
        
        WebDriver driver = new FirefoxDriver(options); 
        driver.get("https://www.google.co.in/?gfe_rd=cr&dcr=0&ei=pvK5WsHVGKSIX7qArmA"); 
    } 
}

其他排查小技巧

  • 检查geckodriver的权限:右键它,看看是不是被杀毒软件拦截了,或者直接以管理员身份运行你的IDE/程序
  • 临时关闭防火墙或代理:有时候本地防火墙会阻止Selenium和geckodriver之间的本地连接
  • 换个Firefox配置文件:如果你的Firefox用户配置文件损坏,也会导致启动失败,可以在代码里指定临时配置文件:
    options.addArguments("-profile", "C:\\temp\\firefox-temp-profile"); // 自定义一个临时路径就行
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:25:55