Согласно документации Явные и неявные ожидания четко указано, что:
Не смешивайте неявные и явно ждет.Это может привести к непредсказуемому времени ожидания .Например, установка неявного ожидания 10 секунд и явного ожидания 15 секунд может привести к возникновению тайм-аута через 20 секунд.
Тем не менее, если у вас неявный тайм-аут , определенный как:
_driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);
Прежде чем вызывать явное ожидание для найденного элемента, необходимо удалить неявное тайм-аут следующим образом:
_driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(0);
WebDriverWait wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(120));
wait.Until(d => d.FindElement(By.CssSelector("div.example")));
Когда вы закончите с явным ожиданием , вы можете заново настроить неявное время ожидания снова как:
_driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(0);
WebDriverWait wait = new WebDriverWait(_driver, TimeSpan.FromSeconds(120));
wait.Until(d => d.FindElement(By.CssSelector("div.example")));
//perform your action with the element
_driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(5);