würde Ich mag wissen, ob es einen Weg mit XPath oder CssSelectors ist, wenn es eine konsistente Art und Weise ist zu warten, bis ein jQuery DataTable Belastung für die Verwendung mit Selen beendet hat.Warten Sie jQuery Datatable mit Selen geladen
Antwort
Siehe https://datatables.net/reference/event/processing.
Dieses Ereignis wird ausgelöst, wenn Tables ist eine Art der Verarbeitung zu tun - es sein, Sortierung, Filterung oder jede andere Art von Datenverarbeitungs
public static void WaitUntilDataTableHasFinishedLoading(this IWebDriver driver, IWebElement processingTable)
{
processingTable.WaitForAttribute("style", "display: none;");
}
Verbrauch:
IWebElement x = SeleniumInfo.Driver.FindElement(By.Id("tableName_processing"));
SeleniumInfo.Driver.WaitUntilDataTableHasFinishedLoading(x);
Tables bietet eine initComplete function:
... zu wissen, wann hat Ihre Tabelle vollständig initialisiert wurde, geladene Daten und gezeichnet
Sie es mit dem Selen Warte kombinieren können() -> bis() Methode. Hier ist ein Beispiel mit PHP.
$this->webDriver->wait($timeoutInSeconds, $intervalInMilliseconds)->until(
// a php anonymous function executed every $intervallInMilliseconds
// it tells Selenium to execute some JS in the brower
// when this methods returns true, Selenium stops waiting
function(){
return 'loaded' === func_get_arg(0)->executeScript(
// the javascript method provided by DataTable
"$('#dataTableId').dataTable({
\"initComplete\": function(settings, json) {
return 'loaded';
}
}
);");
},
"DataTable still not loaded after $timeoutInSeconds."
);
Wenn die Datentabelle geladen wird, das js $ (‚# dataTableId‘) Datatable() gibt ‚geladen‘ und die php anonyme Funktion gibt wahr und Selen aufhören zu warten. Wenn die DataTable nicht nach $ timeoutInSeconds Sekunden geladen wird, wird eine Ausnahme ausgelöst, wenn die "DataTable nach $ timeoutInSeconds noch nicht geladen ist". Botschaft.
Hoffe, das hilft.
Danke. Ich werde prüfen, ob ich das irgendwie in C# arbeiten kann –
- 1. Selen warten, bis html neu geladen wird
- 2. Warten Sie, bis eine Seite vollständig in Selen geladen ist
- 3. warten bis die Seite komplett geladen ist mit Selen 3?
- 4. Selen mit PhantomJs warten bis die Seite voll geladen ist?
- 5. Selen warten jQuery.Masonry
- 6. Wie warten Sie 5 Sekunden mit jQuery?
- 7. Warten auf ein Bild voll Selen geladen werden WebDriver
- 8. Selen warten bis Methode
- 9. Finden Sie Element mit Warten Verwirrung Selen C#
- 10. Selen - Wie warten?
- 11. Selen warten Frage
- 12. Selen warten auf Download?
- 13. BrowserAction.onClicked Warten Sie, bis Iframe geladen wird
- 14. Selen - FireFox/Marionette Treiber nicht warten. Bis
- 15. Warten Sie, bis ein Skript heruntergeladen und ausgeführt wurde und warten Sie, bis DOM geladen wird
- 16. Selen - warten, bis die Synchronisation erfolgt
- 17. Warten Sie, bis ein bestimmtes Bild mit jquery vollständig geladen wurde?
- 18. Datatable zu Json mit Jquery
- 19. mit Vue.js & DataTable (jquery plugin)
- 20. Öffnen Sie Firefox-Fenster in Selen mit Firefox-Addons geladen?
- 21. JQuery: Warten auf Attribut verändertes Bild src geladen werden
- 22. Selen mit PHPUnit wird nicht geladen Seite
- 23. iMacros warten, bis Seite geladen
- 24. Warten bis die Funktion geladen ist
- 25. jQuery überprüfen Sie alle Kontrollkästchen in Datatable
- 26. Android - Wird geladen, bitte warten
- 27. anpassen „Suche“ Datatable JQuery
- 28. Refresh jQuery Datatable Tabelle
- 29. Django und Jquery Datatable
- 30. jQuery Datatable Erhalten Sie benutzerdefinierte Ajax Parameter
Teilen Sie einen Code. –
keine Notwendigkeit, da alle jQuery DataTables das gleiche Skelett teilen –