我根本没有设置隐含的等待。我运行以下代码:
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的文档后,我知道你不应该混合使用隐式和显式等待,但我相信我不是在这里做的吗?
答案 0 :(得分:0)
事实证明,因为在某些情况下,驱动程序运行的窗口是关闭的,驱动程序没有找到应该的内容,并且在内置的隐式60秒后超时。
专业提示:如果窗口可以关闭,请务必检测到并使用 Driver.SwitchTo()... 让你摆脱困境的功能