【发布时间】:2016-04-25 11:25:23
【问题描述】:
我根本没有设置隐式等待。我运行以下代码:
try
{
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(5));
var something = wait.Until(ExpectedConditions.ElementIsVisible(By.Name("__CONFIRM__")));
}
catch (Exception ex)
{
var something = ex.Message;
}
60 秒后抛出异常,而不是 5 秒。我需要先清除一些默认的隐式等待吗?
浏览过 Selenium 的文档后,我知道您不应该将隐式等待和显式等待混为一谈,但我确定我不会在这里这样做吗?
【问题讨论】:
-
尝试使用这种其他方式来调用等待,只是为了测试它是否会在 60 秒后抛出异常:
var something = wait.Until(x => x.FindElement(By.Name("__CONFIRM__")).IsVisible); -
IWebElement 不包含 IsVisible 的定义
-
我的错,正确的名字是“Displayed”。
-
相同,等待时间为 60 秒。最终异常是:对远程 WebDriver 服务器的 URL localhost:12303/session/<GUID>/element 的 HTTP 请求在 60 秒后超时。
标签: c# selenium wait selenium-chromedriver