Implizite Warte funktioniert nicht wie die normalen Thread.sleep()
wo Sie 5s
setzen Zeit und Ihr Haupt-Thread wird für 5 Sekunden angehalten und warten, gefunden werden.
Es wird mit der WebDriver Instance
arbeiten, wo es auf ein bestimmtes Element auf einer Webseite warten wird, um für die in der Wartezeit erwähnte Zeit zu erscheinen. Wenn keine Elemente zum Identifizieren vorhanden sind, d. H. Das Element ist bereits in dom geladen, wartet Ihre implizite Wartezeit nicht auf diesen Zeitraum. So
, wenn Sie sagen: -
System.out.println("Before 5"+date.toString());
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
System.out.println("After 5"+date.toString());
Es wird Ihnen nicht zeigen die Zeitdifferenz von 5 Sekunden.
Wenn es ein Element gegeben hätte, das nicht in dom geladen ist, hätte es 5 Sekunden warten müssen.
System.out.println("Before 5"+date.toString());
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
driver.findElement(By.id("some id")).sendKeys("Some Text")
System.out.println("After 5"+date.toString()); |
|------- Here if the element isn't loaded in dom, then webdriver would wait for 5 seconds.
Mehr Informationen über Waits
Können Sie bitte lassen Sie mich wissen, auf welche Basis du sagst dass es nicht wartet? Wird "NoSuchElemett" oder Element nicht gefunden, ohne dass man 5 Sekunden warten muss? – Siva
kein Fehler. Herausgefunden durch Drucken der Zeit vor dem Warten und nach dem Warten. –
Bitte lesen Sie die geschriebene Antwort. – Siva