我有一个显式等待元素存在的方法。在我将驱动程序升级到 2.37 之前它工作正常。问题是即使我在我的方法中传递了超时参数,它似乎并没有等待那么长时间,而是抛出了“elementNotFound”异常。我相信它仍在使用默认 webdriver 的超时。下面是我在我的方法中使用的代码(这不是我的原始代码,我是从 stackoverflow 中获取的)。我什至尝试过 TimeSpanFromMINutes ,它似乎并没有等那么久。2.37有什么东西坏了吗?
public static IWebElement FindElement(this IWebDriver driver, By by, int timeoutInSeconds)
{
if (timeoutInSeconds > 0)
{
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(timeoutInSeconds));
wait.IgnoreExceptionTypes(typeof(NoSuchElementException));
return wait.Until(drv => drv.FindElement(by));
}
return driver.FindElement(by);
}`