In Selenium ist die Verwendung von WebDriverWait ein entscheidender Aspekt beim Umgang mit dynamischen Elementen, die möglicherweise nicht sofort vorhanden sind auf einer Webseite. Sie sind jedoch auf ein Problem gestoßen, bei dem WebDriverWait scheinbar ignoriert wird, wenn Sie versuchen, Text aus einem Element abzurufen.
Um dieses Problem zu beheben, können Sie die Methode ExpectedConditions.ElementIsVisible() von SeleniumExtras.WaitHelpers verwenden Bibliothek. Diese Methode wartet explizit darauf, dass das Element sichtbar und für die Interaktion verfügbar wird, bevor versucht wird, mit ihm zu interagieren.
Hier ist ein modifizierter Codeausschnitt, der die ElementIsVisible()-Methode enthält:
string messageText = new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.ClassName("block-ui-message"))).GetAttribute("innerHTML");
Von Bei diesem Ansatz wird die Wartezeit nicht ignoriert und der Code ruft den Text erfolgreich aus dem Element ab, nachdem es sichtbar wird.
Das obige ist der detaillierte Inhalt vonWarum wird mein Selenium WebDriverWait ignoriert und wie kann ich zuverlässig Text von einem dynamischen Element abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!