You need to enable JavaScript to run this app. 如何将FirefoxDriver挂载到正在运行的Firefox实例上?
优惠活动
大模型
产品
解决方案
定价
更多

如何将FirefoxDriver挂载到正在运行的Firefox实例上?

挂载已运行Firefox实例的实现方法

你之前的写法不生效是因为debuggerAddress的配置方式是Chrome/Edge的逻辑,Firefox适配Selenium CDP协议的配置方式有区别,按下面步骤调整即可:

1. 确认Firefox启动参数正确

首先确保你启动的Firefox调试服务正常可用,启动参数可以补全为如下形式避免权限限制:
firefox --start-debugger-server 61300 --remote-allow-origins=*
启动后可以在浏览器访问http://127.0.0.1:61300/json,如果能返回JSON格式的调试接口信息,说明调试服务启动正常。

2. 修正C#代码逻辑

适用版本:Selenium 4.0及以上(推荐使用最新稳定版)

直接给FirefoxOptions的DebuggerAddress属性赋值即可,不需要手动添加额外Capability:

FirefoxOptions firefoxOptions = new FirefoxOptions();
// 直接指定已启动Firefox的调试地址,不需要走AddAdditionalCapability
firefoxOptions.DebuggerAddress = "127.0.0.1:61300";

// 此时初始化驱动不会启动新的Firefox进程,直接挂载到已有实例
var d = new FirefoxDriver(firefoxOptions);

d.Navigate().GoToUrl("https://google.com/");

注意事项

  • 如果需要按需切换控制,可以将初始化完成的FirefoxDriver对象缓存复用,不需要每次操作都重新初始化,就算重复初始化也不会生成新的Firefox实例
  • 不要给已启动的Firefox开启隐私浏览模式,会限制调试服务的调用权限
  • 确保你本地的GeckoDriver版本和已运行的Firefox版本匹配,避免出现协议兼容问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 23:09:00