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

防火墙后使用Webdriver Manager:内网访问失败问题求助

解决方案

问题根源是你给Chrome设置了全局代理,导致内网请求也被强制发往防火墙代理服务器,进而触发ERR_TUNNEL_CONNECTION_FAILED错误。改用PAC文件就能让浏览器自动判断:公网请求走代理,内网请求直接访问,同时保留Webdriver Manager的代理配置用于下载ChromeDriver。

修改步骤

  1. 移除Chrome的全局代理参数,替换为PAC文件路径参数
  2. 保留Webdriver Manager的自定义HttpClient配置(确保能下载公网的ChromeDriver)

修改后的完整代码

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.core.download_manager import WDMDownloadManager
from webdriver_manager.core.http import HttpClient
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from requests import Response
import urllib3
import requests
import os
import time

# 禁用WDM的SSL验证
os.environ['WDM_SSL_VERIFY'] = '0'
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)

# Chrome配置:使用PAC文件替代全局代理
# 本地PAC文件格式:file:///C:/Users/xxx/Documents/organization.pac
# 内网服务器PAC格式:http://intranet.example.com/proxy.pac
PAC_FILE_URL = "file:///C:/path/to/your/organization.pac"

opt = webdriver.ChromeOptions()
# 移除全局代理,添加PAC文件配置
opt.add_argument(f'--proxy-pac-url={PAC_FILE_URL}')
opt.add_argument("ignore-certificate-errors")
opt.add_argument(f'user-data-dir=C:\\Users\\YourProfilePath')

# 保留Webdriver Manager的代理配置,用于下载ChromeDriver
class CustomHttpClient(HttpClient):
    def get(self, url, params=None) -> Response:
        proxies={
            'http': 'http://your-proxy-address',
            'https': 'http://your-proxy-address',
        }
        return requests.get(url, params, proxies=proxies, verify=False)

http_client = CustomHttpClient()
download_manager = WDMDownloadManager(http_client)

driver = webdriver.Chrome(
    service=Service(ChromeDriverManager(download_manager=download_manager).install()),
    options=opt
)

关键说明

  • --proxy-pac-url参数让Chrome依据PAC文件内的规则自动路由请求,内网地址会直接访问,不会走代理
  • 自定义的CustomHttpClient仅作用于Webdriver Manager下载ChromeDriver的过程,不干扰Chrome浏览器的请求路由
  • 确保PAC文件路径正确:本地文件必须用file:///开头(三个斜杠),Windows路径中的反斜杠需改成正斜杠或使用双反斜杠

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 14:55:16