Dans Selenium, l'utilisation de WebDriverWait est un aspect crucial de la gestion des éléments dynamiques qui peuvent ne pas être immédiatement présents sur une page Web. Cependant, vous avez rencontré un problème où WebDriverWait semble être ignoré lorsque vous essayez de récupérer le texte d'un élément.
Pour résoudre ce problème, vous pouvez utiliser la méthode ExpectedConditions.ElementIsVisible() de SeleniumExtras.WaitHelpers. bibliothèque. Cette méthode attend explicitement que l'élément devienne visible et disponible pour l'interaction avant de tenter d'interagir avec lui.
Voici un extrait de code modifié qui intègre la méthode ElementIsVisible() :
string messageText = new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.ClassName("block-ui-message"))).GetAttribute("innerHTML");
Par en utilisant cette approche, l'attente ne sera pas ignorée et le code récupérera avec succès le texte de l'élément une fois qu'il deviendra visible.
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!