Comment obtenir webDriver attendre que la page à charger (C# Sélénium projet)

J'ai commencé une Sélénium projet en C#. Essayer d'attendre de page à la fin du chargement et seulement ensuite passer à la prochaine action.

Mon code ressemble à ceci:

 loginPage.GoToLoginPage();
        loginPage.LoginAs(TestCase.Username, TestCase.Password);
        loginPage.SelectRole(TestCase.Orgunit);
        loginPage.AcceptRole();

à l'intérieur de loginPage.SelectRole(Cas De Test.Orgunit):

 RoleHierachyLabel = CommonsBasePage.Driver.FindElement(By.XPath("//span[contains(text(), " + role + ")]"));
 RoleHierachyLabel.Click();
 RoleLoginButton.Click();

Je recherche pour l'élément RoleHierachyLabel. J'ai essayé de l'utiliser de multiples façons d'attendre que la page à charger ou à la recherche d'un élément de propriété permettant un délai d'attente:

1. _browserInstance.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(5));

2. public static bool WaitUntilElementIsPresent(RemoteWebDriver driver, By by, int timeout = 5)
    {
        for (var i = 0; i < timeout; i++)
        {
            if (driver.ElementExists(by)) return true;
        }
        return false;
    }

Comment voulez-vous lutter contre cet obstacle?

InformationsquelleAutor clau84 | 2017-04-04