Ниже приведен код для проверки, загружена страница или нет, она возвращается без ошибок, даже если на странице есть «Ошибка: 500 Ошибка сервера, Ошибка инициализации приложения».Мы не можем отобразить запрошенную страницу. 'отображается.
Я не пробовал ничего, кроме WaitForPageLoad, обнаруженного в stackoverflow.
public static void WaitForPageLoad(IWebwebDriver webwebDriver, int WaitTime = 12)
{
string pageStatus = string.Empty;
OpenQA.Selenium.Support.UI.WebwebDriverWait wait = new OpenQA.Selenium.Support.UI.WebwebDriverWait(webDriver, TimeSpan.FromSeconds(WaitTime));
wait.Until(w =>
{
try
{
pageStatus = ((IJavaScriptExecutor)webDriver).ExecuteScript(@"return document.readyState").ToString();
}
catch (NoSuchWindowException)
{
webDriver.SwitchTo().Window(webDriver.WindowHandles.Last());
}
return (pageStatus.Equals("complete", StringComparison.InvariantCultureIgnoreCase) || pageStatus.Equals("loaded", StringComparison.InvariantCultureIgnoreCase));
});
}
Я ожидал, что он выдаст ошибку, когда на странице есть ошибки или она вообще не загружена.В некоторых случаях часть страницы не является t loaded but still returns page state as 'complete'. Kindly check and let me know if this can be handled. Am even okay to check out for third party APIs like fiddler if there
отличным решением.