Selenium wartet darauf, dass Ajax-Inhalt geladen wird - universeller Ansatz

9

Gibt es einen universellen Ansatz für Selenium zu warten, bis alle Ajax-Inhalte geladen sind? (nicht an eine bestimmte Website gebunden - so funktioniert es für jede Ajax-Website)

    
Fabian Lurz 26.10.2015, 14:44
quelle

3 Antworten

15

Sie müssen auf das Laden von Javascript und jQuery warten. Führen Sie Javascript aus, um zu überprüfen, ob jQuery.active 0 ist und document.readyState ist complete , was bedeutet, dass die JS- und jQuery-Ladevorgänge abgeschlossen sind.

%Vor%     
LINGS 26.10.2015, 15:12
quelle
2

Wie Mark Collin in seinem Buch "Mastering Selenium Webdriver" beschrieben hat, können Sie mit JavascriptExecutor herausfinden, ob eine Website, die jQuery verwendet, AJAX-Aufrufe beendet hat

%Vor%     
Slav Kurochkin 26.10.2015 14:56
quelle
0

Ich glaube nicht, dass es einen universellen Ansatz von Anfang an gibt. Ich mache normalerweise eine Methode, die eine .waituntilrowcount(2) oder waituntilvisible() abfragt, die ein Element abfragt.

    
eagle12 26.10.2015 15:01
quelle