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

家用网络下ChromeDriverManager无法连接主机问题求助

解决居家VPN环境下Selenium+webdriver-manager无法连接主机的问题

问题根源

错误提示显示无法解析googlechromelabs.github.io域名——这是webdriver-manager自动下载ChromeDriver时依赖的外部地址,居家VPN的网络配置(DNS/代理规则)与办公室环境不一致,导致域名解析或网络请求失败。

解决方法

1. 检查并修复DNS配置

  • 先手动测试域名解析是否正常:
    nslookup googlechromelabs.github.io
    # 或用dig工具
    dig googlechromelabs.github.io
    
  • 如果解析失败,临时修改系统DNS配置(以Ubuntu为例):
    sudo echo "nameserver 8.8.8.8" >> /etc/resolv.conf
    sudo echo "nameserver 1.1.1.1" >> /etc/resolv.conf
    
    注:部分Linux系统会自动覆盖resolv.conf,需根据发行版配置永久DNS(比如Ubuntu用netplan,CentOS修改/etc/sysconfig/network-scripts/下的网卡配置文件)。

2. 绕过自动下载,手动指定ChromeDriver路径

既然自动下载依赖外网,直接手动部署ChromeDriver:

  • 先查看本地Chrome版本:
    google-chrome --version
    
  • 下载与Chrome大版本匹配的ChromeDriver(比如Chrome 118.x对应ChromeDriver 118.x),解压后放到系统可执行路径(如/usr/local/bin/)
  • 修改代码,移除ChromeDriverManager,直接指定本地ChromeDriver路径:
    from selenium import webdriver
    from selenium.webdriver.chrome.service import Service
    from selenium.webdriver.chrome.options import Options
    
    options = Options()
    options.add_argument('--headless')
    options.add_argument('--no-sandbox')
    options.add_argument('--disable-dev-shm-usage')
    options.add_argument("window-size=1920,1080")
    
    prefs = {
       "download.default_directory": download_path,
       "savefile.default_directory": download_path
    }
    options.add_experimental_option('prefs', prefs)
    
    # 替换为你实际存放ChromeDriver的路径
    driver = webdriver.Chrome(service=Service('/usr/local/bin/chromedriver'), options=options)
    

3. 配置VPN代理

如果VPN要求走代理才能访问外网,给Python环境设置代理:

  • 临时方式:运行脚本前执行终端命令:
    export HTTP_PROXY=http://你的代理地址:端口
    export HTTPS_PROXY=http://你的代理地址:端口
    # 若为SOCKS代理,替换为:
    # export HTTP_PROXY=socks5://你的代理地址:端口
    # export HTTPS_PROXY=socks5://你的代理地址:端口
    
  • 代码内设置:在导入webdriver-manager相关模块前添加:
    import os
    os.environ['HTTP_PROXY'] = 'http://你的代理地址:端口'
    os.environ['HTTPS_PROXY'] = 'http://你的代理地址:端口'
    

4. 先验证网络连通性

执行脚本前,先确认能正常访问目标地址:

curl https://googlechromelabs.github.io/chrome-for-testing/latest-patch-versions-per-build.json

如果能返回JSON格式内容,再运行Python脚本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 07:37:33