首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >驱动程序实例必须符合W3C规范,以支持在使用ImplicitWait时获取超时值错误。

驱动程序实例必须符合W3C规范,以支持在使用ImplicitWait时获取超时值错误。
EN

Stack Overflow用户
提问于 2019-05-14 11:29:04
回答 1查看 1.1K关注 0票数 0

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

这种行为也是超时没有设置,默认为60秒。

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

发布于 2019-05-14 14:38:33

这个错误信息..。

代码语言:javascript
复制
OpenQA.Selenium.Remote.RemoteTimeouts.ExecuteGetTimeout(String timeoutType)\r\n at OpenQA.Selenium.Remote.RemoteTimeouts.get_ImplicitWait()

...implies表示用于诱导ImplicitWait的语法不恰当。

正如前面在支持W3C WebDriver设置超时格式中讨论的那样,设置超时命令期望数据格式如下:

代码语言:javascript
复制
{
  implicit: 59,
}

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

代码语言:javascript
复制
{
  implicit: 123,
  pageLoad: 234,
  script: 456,
}

您的代码测试将帮助我们更好地调试您的问题。也许您是按照前面的格式诱导ImplicitWait的:

代码语言:javascript
复制
driver.Manage().Timeouts().ImplicitWait = waitTime;

因此,您可以看到错误。

解决方案

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

代码语言:javascript
复制
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);

欧特罗

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56129370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档