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

ChromeDriver突然变慢(Python+Selenium爬虫场景)

问题分析与解决建议

可能的核心原因

  • Chrome浏览器自动更新引发的兼容/性能问题:即便未主动更新ChromeDriver,Chrome浏览器本身可能自动升级到新版本,初期版本可能存在性能bug,或是新特性增加了资源消耗,进而影响驱动运行效率。
  • 网站反爬策略升级(非封禁式限速):目标网站可能新增了自动化工具识别逻辑,未直接封禁,但通过限制JS执行、资源加载速度的方式降低爬虫效率,手动浏览器因无自动化特征不受影响。
  • ChromeDriver默认配置变更:新版本ChromeDriver(包括113版本)可能默认启用了性能日志收集、调试追踪等消耗资源的功能,导致整体运行变慢。

具体解决步骤

  1. 严格匹配Chrome与ChromeDriver版本
    打开Chrome浏览器输入chrome://version/查看完整版本号(如113.0.5672.92),下载完全一致版本的ChromeDriver,确保二者版本完全同步,小版本差异也可能引发性能问题。

  2. 优化ChromeDriver启动参数
    在初始化ChromeDriver时添加以下参数,关闭不必要的资源消耗功能:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    chrome_options = Options()
    # 解决内存分配类问题
    chrome_options.add_argument('--no-sandbox')
    chrome_options.add_argument('--disable-dev-shm-usage')
    # 禁用后台性能节流
    chrome_options.add_argument('--disable-background-timer-throttling')
    chrome_options.add_argument('--disable-backgrounding-occluded-windows')
    chrome_options.add_argument('--disable-renderer-backgrounding')
    # 关闭不必要的扩展与GPU加速
    chrome_options.add_argument('--disable-extensions')
    chrome_options.add_argument('--disable-gpu')
    # 新无头模式(更接近手动浏览器行为)
    chrome_options.add_argument('--headless=new')
    # 禁用性能日志收集
    chrome_options.add_argument('--disable-features=PerformanceLogging')
    
    driver = webdriver.Chrome(options=chrome_options)
    
  3. 隐藏自动化工具特征
    通过CDP命令修改浏览器属性,避免被网站识别为爬虫:

    driver.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument', {
        'source': 'Object.defineProperty(navigator, "webdriver", {get: () => undefined})'
    })
    
  4. 清理残留进程与检查资源占用
    打开任务管理器结束所有Chrome相关进程,避免残留进程导致资源泄漏;同时确认是否有其他进程抢占CPU、内存资源,影响爬虫运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 22:42:58