Maison > développement back-end > C++ > Pourquoi mon WebDriverWait semble-t-il être ignoré lors de l'exécution sans débogage ?

Pourquoi mon WebDriverWait semble-t-il être ignoré lors de l'exécution sans débogage ?

Linda Hamilton
Libérer: 2025-01-03 19:55:40
original
755 Les gens l'ont consulté

Why Does My WebDriverWait Seem to Be Ignored When Running Without Debugging?

WebDriver.Wait N'attend pas l'élément spécifié

Requête :

Mon code tente d'attendre l'apparence d'un élément avant de récupérer son contenu textuel. En parcourant le code, il fonctionne correctement. Cependant, lorsqu'elle est exécutée sans points d'arrêt, l'attente semble être contournée et une exception est levée.

Pourquoi l'attente est-elle négligée ?

Extrait de code :

WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(30));
IWebElement message = wait.Until(driver => driver.FindElement(By.ClassName("block-ui-message")));
string messageText = message.Text;
Copier après la connexion

Réponse :

Une approche alternative consiste à utiliser Méthode ElementIsVisible() de WebDriverWait en combinaison avec une stratégie de localisation modifiée :

string messageText = new WebDriverWait(driver, TimeSpan.FromSeconds(30)).Until(ExpectedConditions.ElementIsVisible(By.ClassName("block-ui-message"))).GetAttribute("innerHTML");
Copier après la connexion

Utilisation de DotNetSeleniumExtras.WaitHelpers avec NuGet :

Si vous utilisez SeleniumExtras et WaitHelpers, le code peut être modifié comme suit :

string messageText = new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.ClassName("block-ui-message"))).GetAttribute("innerHTML");
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal