0

我正在尝试使用 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

4

1 回答 1

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);

奥特罗

于 2019-05-14T14:38:33.823 回答