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

Selenium+Cucumber测试切换页面时出现无法确定加载状态错误求助

Selenium切换页面时出现"无法确定加载状态"错误的原因及解决办法

问题描述

有人知道在Selenium测试过程中为何会出现此错误吗?我在测试期间执行了页面切换操作,同时发现不进行页面切换时,测试运行正常且可通过。

错误日志

未知错误:无法确定加载状态
      来自未知错误:意外的命令响应
        (会话信息:chrome=104.0.5112.81) (Selenium::WebDriver::Error::UnknownError)
      回溯:
        Ordinal0 [0x00C96463+2188387]
        Ordinal0 [0x00C2E461+1762401]
        Ordinal0 [0x00B43D78+802168]
        Ordinal0 [0x00B37210+750096]
        Ordinal0 [0x00B3675A+747354]
        Ordinal0 [0x00B35D3F+744767]
        Ordinal0 [0x00B34C28+740392]
        Ordinal0 [0x00B35228+741928]
        Ordinal0 [0x00B3EF2F+782127]
        Ordinal0 [0x00B49FBB+827323]
        Ordinal0 [0x00B4D310+840464]
        Ordinal0 [0x00B354F6+742646]
        Ordinal0 [0x00B49BF3+826355]
        Ordinal0 [0x00B9CF6D+1167213]
        Ordinal0 [0x00B8C5F6+1099254]
        Ordinal0 [0x00B66BE0+945120]
        Ordinal0 [0x00B67AD6+948950]
        GetHandleVerifier [0x00F371F2+2712546]
        GetHandleVerifier [0x00F2886D+2652765]
        GetHandleVerifier [0x00D2002A+520730]
        GetHandleVerifier [0x00D1EE06+516086]
        Ordinal0 [0x00C3468B+1787531]
        Ordinal0 [0x00C38E88+1805960]
        Ordinal0 [0x00C38F75+1806197]
        Ordinal0 [0x00C41DF1+1842673]
        BaseThreadInitThunk [0x76AEFA29+25]
        RtlGetAppContainerNamedObjectPath [0x77CC7A9E+286]
        RtlGetAppContainerNamedObjectPath [0x77CC7A6E+238]

原因及解决办法

  • ChromeDriver与Chrome版本不匹配:你使用的Chrome版本是104.0.5112.81,必须确保ChromeDriver版本与浏览器版本完全对应。版本不匹配会导致Selenium与浏览器之间的通信异常,尤其是页面切换这类涉及会话状态的操作。
  • 页面切换后未等待加载完成:切换到新页面后直接执行操作,Selenium无法确定页面的加载状态。需添加显式等待,等待页面核心元素加载完成或document.readyState变为complete。
    示例Ruby代码:
    # 切换到新窗口
    new_window = driver.window_handles.last
    driver.switch_to.window(new_window)
    # 等待页面加载完成
    wait = Selenium::WebDriver::Wait.new(timeout: 10)
    wait.until { driver.execute_script('return document.readyState') == 'complete' }
    
  • 会话状态异常:页面切换时可能出现会话丢失或通信中断,可尝试在切换前后重置等待策略,避免在页面未完全加载时执行切换操作。
  • Chrome兼容性bug:部分Chrome版本在处理多窗口会话时存在已知bug,可尝试升级/降级Chrome到稳定版本,或启动Chrome时添加禁用实验特性的参数,例如--disable-features=VizDisplayCompositor。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 18:36:40