Selen: Warten auf ein element verschwinden

Stellte ich mit einer schwierigen Aufgabe. Ich ziemlich neu bin, Selen und immer noch durch die Funktionalitäten des Wartens für Elemente und dergleichen.

Habe ich zu manipulieren, um Daten auf eine website, und dann gehen Sie zu einem anderen. Problem: die manipulation ruft ein Skript, das macht ein wenig "Sparen..." - label erscheinen, während die manipulierten Daten werden im hintergrund verarbeitet. Ich muss warten, bis ich gehen, um die nächste Webseite.

Also hier ist es:
Wie kann ich warten und element zu VERSCHWINDEN? Sache ist: Er ist immer in der DOM -, sondern nur sichtbar gemacht, die von einigen Skript (ich nehme an, siehe Bild unten).
Selen: Warten auf ein element verschwinden

Dies ist, was ich versucht aber es funktioniert einfach nicht - es gibt keine Wartezeiten, Selen nur gehen, um den nächsten Schritt (und bekommt stecken, mit einer Warnung und fragt mich, ob ich will, zu verlassen, oder auf der Seite bleiben, weil der "speichern...").

private By savingLableLocator = By.id("lblOrderHeaderSaving");

    public boolean waitForSavingDone(By webelementLocator, Integer seconds){
    WebDriverWait wait = new WebDriverWait(driver, seconds);
    Boolean element = wait.until(ExpectedConditions.invisibilityOfElementLocated(webelementLocator));
    return element;
}

UPDATE /LÖSUNG:

Kam ich mit der folgenden Lösung: ich baute meine eigene Methode. Grundsätzlich prüft in einer Schleife für die CssValue zu ändern.

dem Schleifen überprüft werden, für eine gewisse Zeit für die CSSVALUE "Anzeige" gehen von "block" auf einen anderen Staat.

public void waitForSavingOrderHeaderDone(Integer _seconds){
    WebElement savingLbl = driver.findElement(By.id("lblOrderHeaderSaving"));   
    for (int second = 0;; second++) {
        if (second >= _seconds)
            System.out.println("Waiting for changes to be saved...");
        try {
            if (!("block".equals(savingLbl.getCssValue("display"))))
                break;
        } catch (Exception e) {

        }
    }
mögliche Duplikate von Selen - Warten Sie, bis element ist NICHT sichtbar
Google wird viele andere Lösungen zur Verfügung.
danke, aber die genannten Lösungen nicht den trick tun. kam mit meinem eigenen "warte-Methode".

InformationsquelleAutor Christoph Zabinski | 2014-07-02

Schreibe einen Kommentar