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

Selenium+Python操作IE浏览器PAC代理认证失败,求凭证配置方案

解决IE浏览器Selenium代理PAC认证失败问题

从你给出的报错信息Access Denied (authentication_failed)和“缺少凭证”的提示,一眼就能看出问题所在——IE驱动没有向公司的PAC代理服务器提供认证凭证,所以被拒绝访问了。下面给你几个可行的解决办法:

方法1:让IE浏览器记住代理凭证(简单快速)

IE驱动会继承本地IE浏览器的配置,你可以手动完成一次代理认证,之后代码就能自动复用凭证:

  • 打开本地IE浏览器,随便访问一个需要联网的网站(比如Google)
  • 当弹出代理认证窗口时,输入你的公司域账号和密码,一定要勾选“记住我的凭证”
  • 关闭IE后再运行你的Selenium代码,驱动就会自动使用刚才保存的凭证了

方法2:通过DesiredCapabilities配置凭证(代码层面解决)

如果需要完全用代码控制,你可以尝试在capabilities里添加代理认证信息。注意IE驱动对代理配置有特殊要求,要确保proxy字典包含完整的认证字段:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

ie_path = "你的IEDriverServer.exe路径"
url_of_the_pac_file = "你的PAC文件URL"
proxy_username = "你的域账号"
proxy_password = "你的密码"

# 复制默认配置,避免修改原对象
caps = DesiredCapabilities.INTERNETEXPLORER.copy()
caps["proxy"] = {
    "proxyType": "pac",
    "proxyAutoconfigUrl": url_of_the_pac_file,
    "username": proxy_username,
    "password": proxy_password
}
# 公司IE环境通常需要禁用保护模式检查
caps["ignoreProtectedModeSettings"] = True
# 关闭原生事件,避免常见的IE驱动异常
caps["nativeEvents"] = False

driver = webdriver.Ie(executable_path=ie_path, capabilities=caps)
driver.get("http://www.google.com")

方法3:使用IeOptions配置(推荐,适配新版Selenium)

如果你的Selenium版本是3.x及以上,更推荐用IeOptions来配置代理和凭证,这种方式更稳定可靠:

from selenium import webdriver
from selenium.webdriver.ie.options import Options

ie_path = "你的IEDriverServer.exe路径"
url_of_the_pac_file = "你的PAC文件URL"
proxy_username = "你的域账号"
proxy_password = "你的密码"

ie_options = Options()
# 设置PAC代理地址
ie_options.add_argument(f"-pac-url={url_of_the_pac_file}")
# 配置代理认证信息(部分环境需要)
ie_options.add_argument(f"-proxy-auth={proxy_username}:{proxy_password}")
# 禁用保护模式检查(公司环境常见要求)
ie_options.ignore_protected_mode_settings = True

driver = webdriver.Ie(executable_path=ie_path, options=ie_options)
driver.get("http://www.google.com")

额外注意事项

  • 一定要保证你的IEDriverServer版本和IE浏览器版本匹配(比如IE11对应3.141.59版本的驱动)
  • 公司环境下,可能需要把IE所有区域的保护模式设置成一致(打开IE的「Internet选项」→「安全」,把四个区域的“启用保护模式”都勾选或者都取消)
  • 如果是NTLM认证,有些环境需要以管理员权限运行驱动程序,或者在IE的「Internet选项」→「安全」→「自定义级别」里启用“自动使用当前用户名和密码登录”

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:22:50