我正在尝试使用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
答案 0 :(得分:-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);