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

Python Selenium报TimeoutException接收渲染器消息超时如何解决

可尝试的解决方案

  • 调整页面加载策略与超时配置
    给Chrome选项添加页面加载策略配置,避免等待无意义的静态资源加载:
    chrome_options.page_load_strategy = 'eager'
    同时初始化driver后显式设置各环节超时阈值,避免无限等待:
    driver.set_page_load_timeout(30) # 页面加载最长等待30秒
    driver.set_script_timeout(30) # JS执行最长等待30秒
    
    对driver.get()逻辑添加异常捕获,超时后先尝试刷新重试,连续失败2-3次再跳过当前URL。
  • 定时清理资源与重置driver实例
    每处理完1个URL,主动清理残留数据:
    driver.delete_all_cookies()
    driver.execute_script("window.localStorage.clear(); window.sessionStorage.clear();")
    
    每处理30-50个URL,主动调用driver.quit()销毁当前实例,重新初始化新的driver对象,彻底解决Chrome进程内存泄漏、渲染进程假死的问题,这是批量爬取场景下最有效的解决方案之一。
  • 补充优化Chrome启动参数
    可以在现有配置基础上新增以下参数,规避已知的Headless模式缺陷:
    chrome_options.add_argument('--headless=new') # 启用Chrome 91+ *新版Headless模式*,兼容性远高于旧版实现
    chrome_options.add_argument('--disable-gpu') # 禁用GPU渲染,避免硬件加速相关的渲染崩溃
    chrome_options.add_argument('--disable-extensions') # 禁用所有扩展插件
    chrome_options.add_argument('--disable-background-networking') # 禁用后台更新、同步等非必要网络请求
    chrome_options.add_argument('--aggressive-cache-discard') # 主动释放缓存降低内存占用
    chrome_options.add_argument('--disable-ipc-flooding-protection') # 关闭IPC限流,避免高频请求时渲染进程被强制终止
    
    同时可以移除--remote-debugging-port=9222配置,固定调试端口如果被占用也可能引发通信异常,默认随机端口即可。
  • 修复版本匹配问题
    当前Chrome版本为91.0.4472.114,Chromedriver版本为91.0.4472.101,小版本不匹配存在兼容性隐患,建议替换为和Chrome版本完全一致的Chromedriver。如果业务允许,也可以将Chrome和Chromedriver同步升级到最新稳定版,91版本本身存在多个Headless模式下的渲染超时已知Bug。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 10:39:03