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

Selenium初始化WebDriver时出现Proxy代理错误

解决Selenium初始化WebDriver时的代理401未授权错误

出现这个问题是因为Chrome启动阶段会自动发起后台请求(比如扩展更新、安全校验),这些请求走了配置的代理但未携带认证信息,直接触发企业防火墙的401拦截。以下是几种可行的解决方式:

方式一:给代理添加认证信息

如果企业代理支持账号密码认证,直接把认证信息嵌入代理地址:

from selenium import webdriver
import urllib.parse

# 密码含@、:等特殊字符时,用urllib.parse.quote做URL编码
username = "your_username"
password = urllib.parse.quote("your_password")
proxy = f'{username}:{password}@x.x.x.x:xxx'

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument(f'--proxy-server={proxy}')
# 禁用Chrome启动时的后台请求,减少触发代理认证的概率
chrome_options.add_argument('--disable-extensions')
chrome_options.add_argument('--disable-background-networking')
chrome_options.add_argument('--no-default-browser-check')

driver = webdriver.Chrome(options=chrome_options)

方式二:使用系统代理设置

如果电脑已配置好可通过企业防火墙的系统代理(比如域账号自动认证),让Chrome直接复用系统代理:

from selenium import webdriver

chrome_options = webdriver.ChromeOptions()
# 自动检测系统代理
chrome_options.add_argument('--proxy-auto-detect')
# 或者强制使用系统代理配置
# chrome_options.add_argument('--system-proxy')

driver = webdriver.Chrome(options=chrome_options)

方式三:处理NTLM域代理认证

如果企业代理用的是NTLM域认证,账号密码嵌入地址的方式无效,可借助Chrome代理认证插件:

  1. 下载支持NTLM认证的Chrome插件(如Proxy Auto Auth)
  2. 用add_extension加载插件到Chrome配置:
from selenium import webdriver

chrome_options = webdriver.ChromeOptions()
# 替换为你的插件本地路径
chrome_options.add_extension('proxy_auth_plugin.crx')

driver = webdriver.Chrome(options=chrome_options)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 10:53:13