Laut Selen fragt eine implizite Wartezeit das DOM für eine bestimmte Zeit ab, um festzustellen, ob ein Element angezeigt wird. Mein Verständnis ist, dass es bis zu einer bestimmten Zeit abfragen wird, aber wenn ein Element vorher auftaucht, wird es weitergehen, ohne weiter zu warten.Selen implizite Wartezeit vs Thread.sleep()
http://seleniumhq.org/docs/04_webdriver_advanced.html
Ich habe ein Verfahren, das in etwa 13 Sekunden ausgeführt wird. Wenn ich die implizite Wartezeit auf 100 Sekunden festlege, dauert es 213 Sekunden.
driver.manage().timeouts().implicitlyWait(100, TimeUnit.SECONDS);
Es scheint, dass ich während dieser Methode 2 mal (je 100 Sekunden) warte. Das Setzen der impliziten Wartezeit auf 0 oder 100 hat keinen Einfluss auf meine Methode. In beiden Fällen werden sie korrekt beendet.
Meine Frage ist dies. Ich dachte, dass das implizite Warten auf die kürzeste Zeit wartet, bis ein Element auftaucht. Ist das richtig? Oder mache ich etwas falsch?
Außerdem, warum wartet es 2 mal, wenn es anscheinend nicht warten muss? (Meine Methode beendet richtig, auch wenn ich die Wartezeit auf 0 gesetzt)
mögliche Duplikate von [Selen webdriver - explizite warten vs implizite warten] (http://stackoverflow.com/questions/10404160/selenium-webdriver-explicit-wait-vs-implicit-wait) – lesmana