【问题标题】:Driver instance must comply with the W3C specification to support getting timeout values error while using ImplicitWait驱动程序实例必须符合 W3C 规范,以支持在使用 ImplicitWait 时获取超时值错误
【发布时间】:2019-05-14 11:29:04
【问题描述】:

我正在尝试使用 ChomeDriver 和 Selenium 设置隐式等待,但我收到一条错误消息。

该行为也未设置超时,默认为 60 秒。

Driver instance must comply with the W3C specification to support getting timeout values.
at OpenQA.Selenium.Remote.RemoteTimeouts.ExecuteGetTimeout(String timeoutType)\r\n   at OpenQA.Selenium.Remote.RemoteTimeouts.get_ImplicitWait()"

我正在使用 Selenium.WebDriver 3.141.0

【问题讨论】:

    标签: selenium selenium-webdriver webdriver implicitwait


    【解决方案1】:

    此错误消息...

    OpenQA.Selenium.Remote.RemoteTimeouts.ExecuteGetTimeout(String timeoutType)\r\n at OpenQA.Selenium.Remote.RemoteTimeouts.get_ImplicitWait()
    

    ...暗示用于诱导 ImplicitWait 的语法不正确。

    根据之前Support W3C WebDriver Set Timeouts format 中的讨论,Set Timeouts 命令预期的数据格式如下:

    {
      implicit: 59,
    }
    

    但根据 W3C WebDriver 可以同时设置多个超时持续时间,如下所示:

    {
      implicit: 123,
      pageLoad: 234,
      script: 456,
    }
    

    您的代码试验将帮助我们以更好的方式调试您的问题。也许您正在按照之前的格式诱导 ImplicitWait

    driver.Manage().Timeouts().ImplicitWait = waitTime;
    

    因此您会看到错误。


    解决方案

    要诱导ImplicitWait,您需要遵循以下格式:

    driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
    

    结尾

    【讨论】:

      猜你喜欢
      • 2020-05-11
      • 1970-01-01
      • 2022-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多