2017-05-18 1 views
1

Wenn ich 30sec auf implizite Wartezeit für ein Element angegeben habe, und das Skript das Element finden kann 10. Sekunde selbst, wird es noch warten oder klicken Sie auf das Element? Die gleiche Situation möchte ich explizit auch wissen lassen..wird es warten oder klicken Sie es auf der 10. Sekunde selbst an?Element, das vor der für wait so genannten Zeit sichtbar ist Wird die implizite/Explicit wait noch bis zum angegebenen Zeitpunkt warten oder klicken Sie

+0

Der von Ihnen angegebene Wert ist die maximale Zeit, die der Webtreiber wartet. Wenn es überschritten wird, wird die Ausnahme "Element nicht gefunden" ausgelöst. Wenn das Element vor dem Timeout gefunden wird, wird es mit dem Programm fortgesetzt. Vorsicht, wenn Sie implizite und explizite Wartezeiten mischen, werden Sie mit langen Wartezeiten in einer Welt des Schmerzes sein. – Grasshopper

+0

@Grasshopper: Ja..Ich habe es ..:) Ich benutze beide in verschiedenen Situationen..So verwenden wir meistens explizit richtig? Wie im Fall von Button-Klick .. Seitenlast .. – Rupali

Antwort

3

Implicit wait bedeutet findElement() und findElements() Methoden versuchen, das Element (e) bis zum angegebenen Zeitraum zu finden. Die einzige Bedingung ist, dass das Element im DOM existiert.

Explicit wait bedeutet, dass der Treiber versucht, das Element zu lokalisieren und dann zu überprüfen, ob das gefundene Element im erwarteten Zustand ist (sichtbar, aktiviert, veraltet usw.).

Beide wartet Proben, die die DOM alle 500 ms (Standard), bis die Bedingung oder endet die angegebene Zeit erfüllt ist, je früher man (im Gegensatz zu Thread.sleep(30000), die das Programm für 30 Sekunden kein Meter, was halten).

Verwandte Themen