Экземпляр драйвера должен соответствовать спецификации W3C для поддержки ошибки получения значений времени ожидания при использовании ImplicitWait - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь установить неявное ожидание с помощью 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

1 Ответ

0 голосов
/ 14 мая 2019

Это сообщение об ошибке ...

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

... подразумевает, что синтаксис, использованный для вызова ImplicitWait , был неправильным.

Согласно обсуждению в Поддержка формата W3C WebDriver Set Timeouts ранее команда 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);

Outro

...