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

SeleniumBase配置代理遇报错:证书错误及站点无法访问求助

解决SeleniumBase代理使用的两个问题

一、消除Chrome的"--ignore-certificate-errors"警告

Chrome弹出这个提示,是因为--ignore-certificate-errors命令行参数被标记为不安全且不再被官方支持。解决办法:

  • 换用更合规的参数:如果是代理证书引发的问题,改用--ignore-certificate-errors-spki-list(需提前获取证书的SPKI指纹);测试环境下可临时用--allow-running-insecure-content+--disable-web-security组合。
  • 手动移除框架默认添加的参数:如果是SeleniumBase自动加的该参数,初始化driver时可自定义ChromeOptions删掉它,代码示例:
from seleniumbase import SB

with SB(uc=True) as sb:
    # 找到并移除不安全的参数
    chrome_args = sb.driver.capabilities['goog:chromeOptions']['args']
    if '--ignore-certificate-errors' in chrome_args:
        chrome_args.remove('--ignore-certificate-errors')
    # 重启driver让配置生效
    sb.driver.quit()
    sb.driver = sb.get_driver()

二、解决代理访问超时(requests可用但SeleniumBase不行)

代理在requests里能用但Selenium里超时,大概率是配置方式或代理适配问题,试试这几个方案:

  • 明确代理协议:SeleniumBase配置代理必须指定协议,比如HTTP代理要写成--proxy=http://IP:PORT,SOCKS5代理写成--proxy=socks5://IP:PORT。requests可能自动补全协议,但Chrome必须明确写清楚。
  • 添加代理认证(若有):要是代理需要用户名密码,得在参数里加--proxy-user=用户名:密码,或者用ChromeOptions配置,示例:
from seleniumbase import SB

proxy_config = {
    'proxy': {
        'http': 'http://用户名:密码@IP:PORT',
        'https': 'http://用户名:密码@IP:PORT',
        'no_proxy': 'localhost,127.0.0.1'
    }
}
with SB(uc=True, chrome_options=proxy_config) as sb:
    sb.open("https://whatismyip.com")
  • 开启UC模式绕过检测:部分代理会被Chrome的反爬机制拦截,启动SeleniumBase时加uc=True就能模拟真实浏览器,绕过大部分代理检测。
  • 检查代理的请求支持:requests只处理HTTP/HTTPS请求,但Chrome加载页面时会发WebSocket、DNS查询等其他请求,有些代理不支持这些类型。可加--proxy-bypass-list=<-loopback>让本地请求不走代理,同时确认代理支持全类型浏览器请求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 19:16:18