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

运行Selenium FirefoxDriver代码时遇TypeError等错误求助

解决FirefoxDriver加载失败:TypeError: addon is null错误

你遇到的核心问题是Firefox启动时扩展模块加载异常,触发了TypeError: addon is null报错,进而导致Selenium驱动无法正常初始化浏览器。那个VR Path Registry的警告属于次要提示,不会直接导致加载失败,我们先聚焦核心问题一步步解决:

1. 优先确认GeckoDriver与Firefox版本兼容性

这是此类问题最常见的诱因,GeckoDriver和Firefox的版本必须严格匹配:

  • 若使用最新版Firefox,务必下载对应最新版本的GeckoDriver
  • 若使用旧版Firefox,需要匹配对应版本的GeckoDriver(比如Firefox 90+对应GeckoDriver 0.29+,可参考官方版本映射规则)

2. 通过FirefoxOptions禁用扩展加载

错误提示指向XPIProvider.jsm(Firefox处理扩展的核心模块),我们可以在代码中强制禁用扩展加载,规避损坏扩展或签名问题导致的报错:
修改你的代码,添加FirefoxOptions配置:

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxOptions;

public class firstTest { 
    public static void main(String[] args) { 
        System.setProperty("webdriver.gecko.driver", "E:\\SOFTWARE\\drivers\\geckodriver.exe"); 
        
        FirefoxOptions options = new FirefoxOptions();
        // 禁用所有扩展加载
        options.addPreference("extensions.enabled", false);
        // 跳过扩展签名验证(针对签名异常导致的加载失败)
        options.addPreference("xpinstall.signatures.required", false);
        
        WebDriver driver = new FirefoxDriver(options); 
        driver.get("http://www.google.com"); 
    } 
}

3. 清理Firefox本地用户配置文件

如果你的本地Firefox配置文件(路径:C:\Users\DEEPAK D P\AppData\Roaming\Mozilla\Firefox)损坏,也会引发扩展加载异常:

  • 关闭所有Firefox窗口
  • 找到上述路径下的Profiles文件夹,删除或重命名其中的默认配置文件夹
  • 重新运行Selenium代码,此时Firefox会生成全新的干净配置文件

4. 消除VR Path Registry警告(可选)

这个警告不影响浏览器功能,若想消除它:

  • 手动创建C:\Users\DEEPAK D P\AppData\Local\openvr\openvrpaths.vrpath文件,内容填入空JSON对象{}
  • 或在代码中添加系统属性跳过VR检测:
System.setProperty("mozilla.vr.enabled", "false");

优先尝试前三个步骤,尤其是步骤1和2,大概率能解决你的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:30:36