Wann sollte in Selenium Webdriver explizites Warten oder implizites Warten verwendet werden?
Ich benutze:
<code>driver.manage().timeouts().implicitlyWait(180, TimeUnit.SECONDS); </code>
Für das folgende Element schlägt es jedoch immer noch fehl
<code> driver.findElement(By.id("name")).clear(); driver.findElement(By.id("name")).sendKeys("Create_title_01"); </code>
Ich habe einen Wartecode hinzugefügt:
<code>for (int second = 0;; second++) { if (second >= 120) fail("timeout"); try { if (isElementPresent(By.id("name"))) break; } catch (Exception e) {} Thread.sleep(1000); } </code>
Sollte nicht implizites Warten darauf warten, bis ein Element gefunden wurde? Wäre es auch besser, wenn ich Explicit wait anstelle des Codes verwende, den ich hinzugefügt habe?Thread.sleep()
?