Heim > Java > javaLernprogramm > Wie kann ich vor dem Klicken zuverlässig auf die Sichtbarkeit von Elementen in WebDriver warten?

Wie kann ich vor dem Klicken zuverlässig auf die Sichtbarkeit von Elementen in WebDriver warten?

Mary-Kate Olsen
Freigeben: 2024-11-27 05:58:10
Original
292 Leute haben es durchsucht

How to Reliably Wait for Element Visibility in WebDriver Before Clicking?

WebDriver: Warten auf Elementpräsenz

Frage: Wie kann ich zuverlässig warten, bis ein Element vorher sichtbar wird? darauf klicken? Implizite Wartezeiten allein scheinen inkonsistent zu sein.

Um dieses Problem zu beheben, können implizite Wartezeiten verwendet werden. Eine zuverlässigere Lösung ist jedoch:

for (int second = 0;; second++) {
    Thread.sleep(sleepTime);
    if (second >= 10)
        fail("timeout : " + vName);
    try {
        if (driver.findElement(By.id(prop.getProperty(vName))).isDisplayed())
            break;
    } catch (Exception e) {
        writeToExcel("data.xls", e.toString(), parameters.currentTestRow, 46);
    }
}
driver.findElement(By.id(prop.getProperty(vName))).click();
Nach dem Login kopieren

Dieser Code wartet, bis das Element sichtbar ist oder ein Timeout-Wert erreicht wird. Allerdings muss der Benutzer die Wartezeit definieren, was unpraktisch sein kann.

Antwort: Nutzen Sie die expliziten Wartefunktionen von WebDriver, um zuverlässige Wartezeiten auf das Vorhandensein von Elementen sicherzustellen.

Der folgende Code demonstriert den empfohlenen Ansatz:

WebDriverWait wait = new WebDriverWait(webDriver, timeoutInSeconds);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id<locator>));
Nach dem Login kopieren

Alternativ können Sie dies tun Verwendung:

wait.until(ExpectedConditions.elementToBeClickable(By.id<locator>));
Nach dem Login kopieren

Diese Methoden bieten eine detaillierte Kontrolle über Wartebedingungen und machen eine benutzerdefinierte Schlaflogik überflüssig.

Zusätzlich Ressourcen:

  • [ExpectedConditions](https://seleniumhq.github.io/selenium/javadoc/3.141.59/org/openqa/selenium/support/ui/ExpectedCondit ions.html)
  • [WebDriverWait](https://seleniumhq.github.io/selenium/javadoc/3.141.59/org/openqa/selenium/support/ui/WebDriverWait.html)

Das obige ist der detaillierte Inhalt vonWie kann ich vor dem Klicken zuverlässig auf die Sichtbarkeit von Elementen in WebDriver warten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage