Selenium C# WebDriver : gestion de la visibilité des éléments avec WebDriverWait
Les scripts Selenium efficaces nécessitent une gestion robuste des erreurs. Un défi courant consiste à interagir avec des éléments qui peuvent ne pas être immédiatement disponibles sur une page Web. WebDriverWait
apporte une solution en vous permettant d'attendre des conditions spécifiques avant de continuer.
La classe WebDriverWait
offre un mécanisme puissant pour suspendre l'exécution du script jusqu'à ce qu'un élément spécifié remplisse une condition particulière. Cela évite les erreurs courantes causées par la tentative d'interaction avec des éléments avant qu'ils ne soient complètement chargés.
Une condition cruciale est de vérifier l'existence d'un élément dans le modèle objet de document (DOM). Ceci est réalisé en utilisant ExpectedConditions.ElementExists
. Par exemple :
<code class="language-csharp">WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(5)); IWebElement element = wait.Until(ExpectedConditions.ElementExists(By.Id("login")));</code>
Cet extrait crée un objet WebDriverWait
qui attend jusqu'à 5 secondes qu'un élément avec l'ID "login" apparaisse dans le DOM. Si l'élément est trouvé dans le délai imparti, il est renvoyé ; sinon, un TimeoutException
est lancé.
Il est important de noter que ElementExists
ne fait que confirmer la présence de l'élément dans le DOM. Cela ne garantit pas la visibilité ou le statut activé. Pour les éléments qui doivent être à la fois présents et visibles, utilisez plutôt ExpectedConditions.ElementIsVisible
.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!