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

工作机用Selenium C#初始化ChromeDriver遇407代理认证错误求配置

代理环境下Selenium ChromeDriver 407认证错误的解决配置

方法一:显式配置带认证的代理

直接在ChromeOptions中指定代理服务器地址、端口及认证信息,代码示例如下:

using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Proxy;

class Program
{
    static void Main()
    {
        // 配置代理核心信息
        var proxy = new Proxy();
        proxy.HttpProxy = "http://代理地址:端口";
        proxy.SslProxy = "http://代理地址:端口"; // HTTPS请求复用该代理
        proxy.Username = "你的代理用户名";
        proxy.Password = "你的代理密码";

        // 绑定代理到Chrome选项
        var options = new ChromeOptions();
        options.Proxy = proxy;

        // 初始化驱动并访问目标页面
        var driver = new ChromeDriver(options);
        driver.Navigate().GoToUrl("https://lambdatest.github.io/sample-todo-app/");

        // 业务操作完成后关闭驱动
        driver.Quit();
    }
}

方法二:使用系统代理并自动完成NTLM认证

若机器已预设系统代理,需ChromeDriver自动使用当前用户凭据完成企业常用的NTLM认证,可添加以下Chrome启动参数:

using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;

class Program
{
    static void Main()
    {
        var options = new ChromeOptions();
        // 启用系统代理自动检测
        options.AddArgument("--proxy-auto-detect");
        // 允许对所有域自动进行NTLM认证
        options.AddArgument("--auth-server-whitelist=*");
        // 允许自动协商并发送NTLM凭据
        options.AddArgument("--auth-negotiate-delegate-whitelist=*");

        var driver = new ChromeDriver(options);
        driver.Navigate().GoToUrl("https://lambdatest.github.io/sample-todo-app/");

        driver.Quit();
    }
}

关键注意事项

  • 若直接配置用户名密码无效,大概率是Chrome的安全限制导致,此时可采用代理自动配置脚本(PAC),将认证逻辑嵌入PAC脚本后,通过proxy.ProxyAutoConfigUrl指定PAC文件地址。
  • 先通过浏览器手动配置代理测试,确认代理地址、端口、账号密码能正常访问目标站点,排除代理本身的问题。
  • 企业内网环境中,需联系IT部门确认代理的认证方式(NTLM/基本认证)、允许的访问域名范围,避免配置不符合要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 03:24:22