1

Ich habe in Alister Scott's Blog gefunden, wie zu warten, bis Element zu bestimmten Wert geändert wurde. Aber ich kann das Problem nicht lösen, wie man wartet, bis das Element wartet, bis sich sein Text von einem bestimmten Wert (in meinem Fall von '-') zu etwas anderem geändert hat (in meinem Fall ist es ein Zähler, also kann ich nicht setzen) bestimmter Wert, auf den gewartet werden soll).Warten bis der Text des Elements in WebdriverJS geändert wurde?

Irgendwelche Ideen?

+0

Warte bis der Text nicht gleich dem Startwert ist? – jonrsharpe

+0

@jonrsharpe ja. richtig. – AlenSv

+0

Ok, also was ist deine Frage? Der verlinkte Artikel zeigt, wie man eine Funktion in einem Wait verwendet, man muss nur das Ergebnis negieren. – jonrsharpe

Antwort

1

Sie können den vorhandenen Wert vor der Änderung speichern, danach können Sie Ihre eigene Erwartungsfunktion an die wait-Methode übergeben. Ihre Funktion sollte True zurückgeben, wenn der Wert sich vom alten Wert unterscheidet.

var oldValue = ...; 
driver.wait(function(){ 
    var newValue = ...; 
    return newValue != oldValue; 
}, timeout); 
0

Wenn Sie Promises neu sind, kann es ein wenig verwirrend ...

driver.wait(function() { 
    return driver.findElement(By.id('idYouWant')).getText().then(function (text) { 
     return text === 'Done'; 
    }); 
}, timeout); 

Dieses Stück Code überwacht den Text eines sich dynamisch ändernden Element mit einer bestimmten ID.

Beachten Sie die 2 Rückgaben und erinnern Sie sich, dass das Timeout in Millisekunden ist.

Verwandte Themen