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

Robotframework-Selenium中Selenium Manager代理配置与版本检查关闭方案咨询

解决Selenium Manager代理问题或禁用版本检查的方案

问题背景

  • 使用环境:Robotframework-Seleniumlibrary 6.1.1,Selenium 4.10+(内置Selenium Manager自动管理驱动)
  • 核心问题:公司代理限制导致Selenium Manager无法访问Chrome驱动版本信息接口,报错:

Exception trying to discover chromedriver version: error sending request for URL (https://googlechromelabs.github.io/chrome-for-testing/known-good-versions-with-downloads.json): error trying to connect: tcp connect error: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host had failed to respond. (os error 10060)

  • 附加问题:即使本地PATH中已存在chromedriver,每次启动Chrome仍需等待105秒才会使用本地驱动
  • 临时方案缺陷:通过executable_path硬编码驱动路径存在维护问题,且该参数在Selenium中已标记为即将弃用

可行解决方案

1. 单独为Selenium Manager配置代理

Selenium Manager支持通过专属环境变量设置代理,不会影响浏览器自身的网络流量:

  • Windows命令行设置:
    # HTTP代理
    set SE_MANAGER_HTTP_PROXY=http://你的代理地址:端口
    # HTTPS代理
    set SE_MANAGER_HTTPS_PROXY=https://你的代理地址:端口
    # 带认证的代理
    set SE_MANAGER_HTTP_PROXY=http://用户名:密码@你的代理地址:端口
    
  • Linux/macOS终端设置:
    # HTTP代理
    export SE_MANAGER_HTTP_PROXY=http://你的代理地址:端口
    # HTTPS代理
    export SE_MANAGER_HTTPS_PROXY=https://你的代理地址:端口
    # 带认证的代理
    export SE_MANAGER_HTTP_PROXY=http://用户名:密码@你的代理地址:端口
    

设置完成后,Selenium Manager会通过指定代理请求版本信息,浏览器流量不受代理影响。

2. 关闭Selenium Manager的版本检查/禁用自动管理

通过环境变量强制Selenium使用本地PATH中的驱动,跳过网络请求和版本检查:

  • 仅跳过驱动下载(保留版本检查但不下载):
    Windows:set SELENIUM_MANAGER_SKIP_DOWNLOAD=true
    Linux/macOS:export SELENIUM_MANAGER_SKIP_DOWNLOAD=true
  • 完全禁用Selenium Manager(直接使用PATH中的驱动):
    Windows:set SELENIUM_MANAGER_ENABLED=false
    Linux/macOS:export SELENIUM_MANAGER_ENABLED=false
    此方式可彻底消除105秒的等待延迟。

3. 替代硬编码的驱动路径配置(避免executable_path)

使用ChromeOptions传递驱动路径,既符合Selenium新版本规范,又能避免硬编码:

${chrome_options}=    Evaluate    selenium.webdriver.ChromeOptions()    selenium.webdriver
# 可将路径存入配置变量,避免硬编码
Call Method    ${chrome_options}    add_argument    --driver-path=${CHROMEDRIVER_PATH}
Open Browser    ${URL}    Chrome    options=${chrome_options}

可将${CHROMEDRIVER_PATH}放在单独的变量文件(如config.resource)中,方便统一维护。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 06:15:27