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

如何使用C# Selenium WebDriver创建保存Firefox配置文件并复用

C# Selenium WebDriver 操作Firefox配置文件指南

前置依赖

确保你的C#项目已经安装对应NuGet包:

  • Selenium.WebDriver
  • Selenium.WebDriver.GeckoDriver

一、创建并保存自定义Firefox配置

你可以通过代码自定义配置后持久化存储到本地,后续复用:

using OpenQA.Selenium.Firefox;
using System.IO;

// 初始化空白Firefox配置
var customProfile = new FirefoxProfile();

// 按需添加自定义配置项,以下为常用示例
// 设置默认下载路径,无需弹窗确认
customProfile.SetPreference("browser.download.folderList", 2);
customProfile.SetPreference("browser.download.dir", @"C:\你的自定义下载目录");
customProfile.SetPreference("browser.helperApps.neverAsk.saveToDisk", "application/pdf,text/csv,application/zip,application/octet-stream");
// 禁用内置PDF预览
customProfile.SetPreference("pdfjs.disabled", true);
// 禁用网站通知弹窗
customProfile.SetPreference("dom.webnotifications.enabled", false);
// 禁用代理
customProfile.SetPreference("network.proxy.type", 0);

// 将配置保存到本地指定路径
string savePath = @"C:\FirefoxProfiles\SeleniumCustomProfile";
if (!Directory.Exists(savePath))
{
    Directory.CreateDirectory(savePath);
}
customProfile.WriteToDisk(savePath);

运行上述代码后,你的自定义配置就会持久化保存在指定路径下。

二、调用已有的Firefox配置

你可以调用之前代码保存的配置,也可以调用Firefox浏览器本身的用户配置:

using OpenQA.Selenium.Firefox;

// 填入本地配置文件的根目录路径
// 如果你要调用手动使用的火狐默认配置,可在火狐地址栏输入`about:profiles`查看对应配置的根目录路径
string profilePath = @"C:\FirefoxProfiles\SeleniumCustomProfile";
var loadedProfile = new FirefoxProfile(profilePath);

// 可选:临时修改本次运行的配置,修改不会影响本地已保存的配置文件
loadedProfile.SetPreference("dom.disable_open_during_load", true);

// 初始化驱动时传入配置
var firefoxOptions = new FirefoxOptions
{
    Profile = loadedProfile
};
var driver = new FirefoxDriver(firefoxOptions);

// 后续正常操作浏览器即可
driver.Navigate().GoToUrl("https://www.example.com");

注意事项

  • 不要同时让多个Selenium驱动实例加载同一个本地配置文件,会出现文件占用报错,多开场景请提前复制多份配置文件分别调用
  • GeckoDriver版本需要和你本地安装的Firefox浏览器版本匹配,避免出现兼容性异常

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 04:42:00