Hier ist der, den ich mir ausgedacht habe, aber in Java. Ein wenig herausgezogen, aber es führt Sie durch, wie es warten sollte. Es dauert eine Wartezeit in Sekunden und überprüft dann jede Sekunde, ob das Element noch vorhanden ist. Sobald es das Element gefunden hat, stellt es sicher, dass es sichtbar ist, damit es interagiert werden kann. "Treiber" ist offensichtlich das WebDriver-Objekt.
public void waitForVisible(final By by, int waitTime) {
wait = new WebDriverWait(driver, timeoutInSeconds);
for (int attempt = 0; attempt < waitTime; attempt++) {
try {
driver.findElement(by);
break;
} catch (Exception e) {
driver.manage().timeouts().implicitlyWait(1, TimeUnit.SECONDS);
}
}
wait.until(ExpectedConditions.visibilityOfElementLocated(by));
}
die Suche nach genau der gleichen Sache entweder in Ruby oder js. – jdrm
Ich bin auch auf der Suche nach dem gleichen Ding. Für Android scheint etwas wie "browser.driver.manage.timeouts.page_load = 30" zu funktionieren. Auf iOS erscheint ein Fehler, der besagt, dass Appium das nicht implementiert hat ... –