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

Chrome更新至113.0.5672.127后Python Selenium脚本失效求助

问题分析与解决方案

核心原因

Chrome 113版本对无头(headless)模式做了底层行为变更:

  • 原--headless参数启用的是旧版无头模式,与正常Chrome浏览器的环境差异极大(比如窗口默认尺寸极小、焦点处理逻辑简化、JS执行上下文受限);
  • 控制台出现的Autofocus processing was blocked提示,说明页面的自动聚焦逻辑在旧无头模式下触发异常,导致页面JS渲染流程中断,进而引发元素无法定位的问题;
  • 正常模式下浏览器环境完整,焦点逻辑、页面渲染都正常,所以脚本能稳定运行。

具体解决步骤

  1. 切换到新版无头模式
    替换原参数为:

    chrome_options.add_argument("--headless=new")
    

    新版无头模式完全模拟正常Chrome的行为,包括窗口尺寸、焦点处理、JS执行环境,能极大减少环境差异带来的问题。

  2. 显式设置窗口尺寸
    旧无头模式默认窗口尺寸很小,可能触发页面响应式布局,导致元素结构或位置变化。添加参数强制设置合适尺寸:

    chrome_options.add_argument("--window-size=1920,1080")
    
  3. 禁用自动聚焦限制
    针对控制台的Autofocus报错,添加参数跳过该限制:

    chrome_options.add_argument("--disable-features=AutofocusMV2")
    
  4. 优化页面等待策略
    即使使用WebDriverWait,也可以额外等待页面JS加载完成,比如:

    WebDriverWait(browser, 20).until(lambda d: d.execute_script('return document.readyState') == 'complete')
    

    确保页面所有资源和JS逻辑都执行完毕后,再进行元素定位。

  5. 验证ChromeDriver版本匹配
    确认ChromeDriver版本与Chrome浏览器版本完全对应(113.0.5672.x系列),新版无头模式对版本匹配要求更严格,建议重新下载对应版本的ChromeDriver覆盖。

内容的提问来源于stack exchange,提问作者Антон

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 15:32:40