Существует множество вариантов установки времени загрузки страницы.
driver.Manage().Timeouts().PageLoad = TimeSpan.FromSeconds(90);
ИЛИ
driver.Manage().Timeouts().ImplicitWait.Add(System.TimeSpan.FromSeconds(90));
ИЛИ
driver.Manage().Timeouts().PageLoad.Add(System.TimeSpan.FromSeconds(90));
ИЛИ
driver.Manage().Timeouts().AsynchronousJavaScript.Add(90));
Обновлено-1
Вы можете попытаться дождаться присутствия элемента на новой странице (появляется страница после загрузки страницы). Напишите пользовательский метод для поиска элемента с тайм-аутом, как показано ниже:
public static class WebDriverExtensions
{
public static IWebElement FindElement(this IWebDriver driver, By by, int timeoutInSeconds)
{
if (timeoutInSeconds > 0)
{
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(timeoutInSeconds));
return wait.Until(driver => driver.FindElement(by));
}
return driver.FindElement(by);
}
}
Использование вышеуказанного метода:
driver.FindElement(By.CssSelector("#btnLogin"), 90);