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

使用Selenium ChromeDriver加载页面时遭遇SSL握手失败错误(返回值-1、SSL error code 1、net_error -101)的求助

解决Selenium访问https://linkum.ru/时的SSL握手失败错误(SSL error code 1, net_error -101)

嘿,我之前也遇到过一模一样的SSL握手失败问题,尤其是在用Selenium访问一些加密配置比较特殊的网站时。这个错误(handshake failed; returned -1, SSL error code 1, net_error -101)通常和浏览器的SSL/TLS配置、证书信任或者网络环境脱不了干系。针对你的代码和问题,我整理了几个靠谱的解决方案,你可以挨个试试:

  • 修改ChromeOptions,绕过SSL证书验证
    这个是最直接的解决办法,给Chrome添加几个参数来忽略证书和SSL相关错误,让浏览器跳过严格的SSL检查。修改后的代码如下:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    from webdriver_manager.chrome import ChromeDriverManager
    import time
    
    # 初始化Chrome选项
    options = Options()
    # 忽略证书错误
    options.add_argument('--ignore-certificate-errors')
    # 忽略SSL错误
    options.add_argument('--ignore-ssl-errors')
    # 允许加载不安全内容
    options.add_argument('--allow-running-insecure-content')
    # 禁用网页安全策略(仅测试用,生产环境谨慎使用)
    options.add_argument('--disable-web-security')
    
    driver = webdriver.Chrome(ChromeDriverManager().install(), options=options)
    url = "https://linkum.ru/"
    try:
        driver.get(url)
        driver.find_element_by_css_selector("#rec143282558 > div > nav > div.header__auth > a").click()
        time.sleep(2)
    except Exception as err:
        print(err)
    finally:
        driver.close()
        driver.quit()
    

    这些参数能让Chrome绕过网站的SSL证书验证环节,解决握手失败的问题。注意--disable-web-security仅适合测试场景,生产环境不要随便用。

  • 确保ChromeDriver和Chrome浏览器版本完全匹配
    ChromeDriver和Chrome版本不兼容也可能导致这类网络异常。虽然ChromeDriverManager会自动匹配版本,但偶尔会因为缓存或网络问题出错。你可以手动指定Chrome版本来安装对应的ChromeDriver:

    # 替换成你当前Chrome浏览器的版本号,比如118.0.5993.70
    driver = webdriver.Chrome(ChromeDriverManager(version="118.0.5993.70").install(), options=options)
    

    另外,你也可以手动删除ChromeDriverManager的缓存文件(Windows路径:C:\Users\<你的用户名>\.wdm\drivers;Mac/Linux路径:~/.wdm/drivers),然后重新运行代码,让它重新下载匹配的驱动。

  • 检查网络环境,排除代理/防火墙干扰
    如果你在代理、VPN或者企业防火墙环境下,这些工具可能会拦截SSL握手请求。你可以先尝试关闭代理/VPN,直接用Chrome浏览器手动访问https://linkum.ru/,看看能不能正常加载:

    • 如果手动访问也失败,那可能是你的网络无法连接到该网站,或者网站本身有问题;
    • 如果手动能访问,但Selenium不行,可以在ChromeOptions中配置正确的代理参数:
      # 替换成你的代理地址和端口
      options.add_argument('--proxy-server=http://your-proxy-ip:port')
      
  • 更新Chrome浏览器到最新版本
    旧版本的Chrome可能不支持网站使用的TLS协议版本(比如TLS 1.3),导致握手失败。打开Chrome的「设置」→「关于Chrome」,检查并安装最新版本,然后再运行你的Selenium代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 16:43:12