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

原正常运行的Python Selenium脚本突然无法建立新连接求助

解决Selenium连接拒绝导致的MaxRetryError问题

可能的原因及对应解决方案

  • Chrome浏览器与ChromeDriver版本不匹配
    近期浏览器自动更新后,ChromeDriver版本未同步升级,会导致驱动与浏览器通信异常。
    操作:查看当前Chrome版本(通过chrome://version/路径),下载对应主版本号一致的ChromeDriver替换现有文件。

  • Chrome进程异常残留
    之前的Chrome实例未彻底关闭,占用端口或阻塞驱动通信链路。
    操作:

    1. 强制清理Chrome相关进程:
      # Linux/macOS环境
      pkill -f chrome
      # Windows环境
      taskkill /F /IM chrome.exe /IM chromedriver.exe
      
    2. 脚本中添加可靠的退出清理逻辑:
      try:
          source = driver.page_source
      finally:
          driver.quit()  # 优先使用quit()而非close(),确保彻底终止所有关联进程
      
  • 驱动初始化参数兼容性问题
    部分旧参数在新版本Chrome中可能引发通信故障,尝试简化启动参数:
    调整后的初始化代码(Selenium 4+推荐写法):

    from selenium.webdriver.chrome.service import Service
    
    options = webdriver.ChromeOptions()
    options.add_argument('--no-sandbox')
    options.add_argument('--disable-dev-shm-usage')
    # 移除可能存在兼容性问题的--auto-show-cursor,或尝试启用无头模式
    options.add_argument('--headless=new')
    driver = webdriver.Chrome(service=Service('chromedriver'), options=options)
    
  • 本地安全软件拦截通信
    防火墙或杀毒软件可能拦截了ChromeDriver与浏览器的本地端口通信。
    操作:临时关闭安全软件测试,若恢复正常,将ChromeDriver和Chrome程序加入安全软件白名单。

  • 页面未完全加载就执行操作
    部分单页应用加载缓慢,driver.get(url)默认等待可能未覆盖所有资源加载,导致后续操作时连接中断。
    操作:添加显式等待确保页面核心元素加载完成:

    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    
    driver.get(url)
    # 等待页面body标签加载完成,超时时间设为10秒
    WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.TAG_NAME, 'body')))
    source = driver.page_source
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 05:12:41