You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows 10环境下Selenium因localhost代理问题初始化失败的解决方案咨询

Windows 10环境下Selenium因localhost代理问题初始化失败的解决方案咨询

我之前在公司环境里也碰到过几乎一模一样的代理坑,给你分两个方向来解决:

一、本地Windows 10手动添加代理例外(最快见效)

你可以直接在系统代理设置里把回环地址加入例外列表,这样本地请求localhost就不会走公司代理了:

  • 打开Windows设置:按Win + I快捷键,进入「网络和Internet」→「代理」页面
  • 如果是手动代理模式,找到「不要使用代理服务器的地址」输入框,添加localhost,127.0.0.1,::1(多个地址用英文逗号分隔);如果是自动代理脚本,往下找例外相关的配置项补充这些地址
  • 保存设置后,重启你的Selenium脚本测试

另外,也可以通过管理员命令行快速配置WinHTTP代理的例外(部分应用会调用WinHTTP的代理规则):
打开管理员命令提示符,执行:

netsh winhttp set proxy proxy-server="http://你的公司代理地址:端口" bypass-list="localhost;127.0.0.1;::1"

如果之前已经配置过WinHTTP代理,仅需更新例外列表的话,执行:

netsh winhttp set proxy bypass-list="localhost;127.0.0.1;::1"

还有个更精准的方式:直接给Selenium的浏览器实例配置代理例外,不影响全局系统设置。比如用ChromeDriver的Python代码示例:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
# 仅让Selenium浏览器跳过回环地址的代理
chrome_options.add_argument('--proxy-bypass-list=localhost,127.0.0.1')
# 如果你的Selenium脚本不需要访问公网,也可以直接禁用代理
# chrome_options.add_argument('--no-proxy-server')

driver = webdriver.Chrome(options=chrome_options)

二、跟公司网络团队沟通的配置要点

如果本地设置无效(比如公司用了强制的自动代理PAC脚本),你需要跟网管员明确说明以下需求:

  • 请在公司全局代理规则(包括PAC脚本、代理服务器配置)中,添加回环地址的例外:localhost127.0.0.1::1(IPv6回环地址)
  • 解释场景:本地运行的Selenium服务绑定在回环地址,这类请求完全不需要经过公网代理,代理服务器无法解析本地回环地址是正常逻辑,需要让这类请求直接在本地处理

正常情况下,正规的公司代理配置默认会排除回环地址,大概率是你们的配置遗漏了,把场景讲清楚后,网管员应该能快速调整。

备注:内容来源于stack exchange,提问作者Steve Scott

火山引擎 最新活动