Ich baue ein Automatisierungs-Framework auf Selenium (Node.js), bestehend aus einer Reihe von Schritten. Jeder Schritt folgt dem vorherigen, nachdem er abgeschlossen wurde, und gibt ein Versprechen zurück (wie das von seleniums driver.click() usw.). Kann man warten, bis ein JavaScript-Ereignis im Browser ausgelöst wird? Wenn ja, welches Muster soll folgen?Warten auf JavaScript-Ereignis mit Selenium
2
A
Antwort
1
Verwenden .executeAsyncScript
zu warten, ein Ereignis auftreten:
driver.executeAsyncScript(function(callback) {
window.addEventListener('message', function onmessage() {
window.removeEventListener('message', onmessage);
callback();
});
});
Die doc:
Verwandte Themen
- 1. Selenium - Warten auf Netzwerkverkehr
- 2. Selenium Webdriver (VBA): Explizites Warten
- 3. Selenium WebDriver JS - Explizit Warten
- 4. Selenium-Webdriver (Java Script) Warten auf Element zu verschwinden
- 5. WebRat + Selenium WebDriver: Warten auf Ajax abgeschlossen werden
- 6. Wartet Selenium auf JavaScript?
- 7. Warten, bis ein Element in Selenium nicht mehr existiert
- 8. Selenium Ajax warten, wenn Ajax keine Elemente zurückgibt?
- 9. Selenium wartet auf Ajax-Inhalt - Universalansatz
- 10. Wie Selenium auf eine Übergangsseite zum Umleiten warten, bevor eine Assertion ausgeführt wird
- 11. Zugriff auf JavaScript-Variablen mit Selenium IDE
- 12. Warten auf XHR Request und/oder eine Console Nachricht für Selenium in Python
- 13. AutoResetEvent und warten auf
- 14. Wie Sie auf einen Ajax-Anruf warten, der beim Auffüllen einer Dropdown-Liste in Selenium arbeitet
- 15. Warten auf Workbook.RefreshAll() (C#)
- 16. Warten auf ein Signal
- 17. Warten auf Benutzereingabe
- 18. Warten auf d3
- 19. Warten auf mehrere Rückrufe
- 20. Warten auf mehr SwingWorkers
- 21. Warten auf mehrere Events
- 22. Remote-Debugging mit lldb - warten auf Prozess
- 23. Warten auf Arduino Auto-Reset mit pyserial
- 24. Warten auf ionische Ladedialoge mit Winkelmesser
- 25. docker mit ansible warten auf Datenbank
- 26. WebDriver - warten auf Element mit Java
- 27. SAPUI5 Mit Versprechen auf Codeausführung warten
- 28. Auf Pager-Animationen mit Espresso warten?
- 29. Warten auf Benutzereingabe mit einer Zeitüberschreitung
- 30. Warten auf Ereignis mit AutoResetEvent behandelt werden
meinst du warten, bis Ihr Java-Skript mit Selen vollständig ausgeführt und zurück? –
Nein, ich meinte, was ich gesagt habe: Warten Sie, bis ein JavaScript-Ereignis ausgelöst wird. Warten auf die Ausführung eines Skripts ist trivial mit driver.executeScript(). –
Zum Beispiel möchte ich inje window.onmessage = function() {... weiter mit der node.js Versprechen Kette ...} –