Ich versuche zu überprüfen, ob ein Element nicht existiert, aber es ist mit Timeout-Problem fehlgeschlagen. Aus meiner Beobachtung heraus habe ich herausgefunden, dass der Fahrer zuerst versucht, dieses Element herauszufinden und dann darauf zu warten, dass das Element verschwindet, anstatt zu prüfen, ob ein Element existiert oder nicht. Ich habe unten Methoden versucht.Überprüfen, ob ein Element nicht vorhanden ist
1. browser.element.all(selector)
2. browser.driver.findElements(selector)
3. browser.isElementPresent(browser.element(selector))
4. element(selector).isPresent()
Hintergrund: Wenn eine Schaltfläche geklickt wird, wird ein modaler erscheinen. Es hat Schaltflächen zum Abbrechen und Speichern. Beim Klicken auf die Schaltfläche Abbrechen verschwindet das modale Fenster. Jetzt versuche ich eine Erwartungsbedingung zu schreiben, um zu überprüfen, ob das Modal verschwunden ist oder nicht.
Alle oben genannten sind fehlgeschlagen. Bitte sagen Sie mir einen korrekten Weg, wo ich prüfen kann, ob ein Element sofort existiert. Hier
ist der Fehler für all oben
Error: function timed out after 60000 milliseconds
Ich bin wirklich nicht sicher, warum Protractor nicht in der Lage ist, mir zu helfen, nur zu überprüfen, wenn das Element nicht in dem DOM ist. Ich habe alles Mögliche versucht. Jede Methode versucht herauszufinden, ob ein bestehendes Element in einen nicht existierenden Zustand übergeht oder nicht. Dann warum diese vielen APIs, wenn alle die gleiche Arbeit machen.
Hat angular.element (document) .find ('...') nicht? – rrd
Es ist im Inneren Winkelmesser. Ich vermeide Browser-Skriptausführung. – Adapter
Dies ist keine gute Problembeschreibung. Bitte fügen Sie Details hinzu, was passiert ist, als Sie diese Selektoren verwendet haben. Haben Sie einen Fehler/eine Ausnahme oder wird der Code weitergegeben und passiert nichts? Ohne dieses und das relevante HTML wäre es nur ein Schuss in die Dunkelheit. – demouser123