Das Problem ist sehr ähnlich zu diesem "More than one element found for locator" warning: Ich habe ng-repeat
, darin habe ich zwei div
s, mit ng-if
auf ihnen, so dass nur eine div
angezeigt wird. Jede div
in ng-repeat
hat die gleiche Klasse login__cell-link
.Wie verkettet man "element" und "element.all"?
brauche ich Wert in diesem div
s zu überprüfen, so wähle ich den Block mit ihnen
element.all(by.repeater('item in array')).then(allElements => {
allElements[i].element(by.className('login__cell-link')).getText();
});
Das Problem mit warnt:
WARNING - more than one element found for locator By(css selector, .login__cell-link) - the first result will be used
Diese Antwort https://stackoverflow.com/a/28464809/4753661 sagt zu verwenden: element.all(by.css("ul.nav button")).first()
Aber ich bekomme Fehler:
[TypeError: allElements[i].element.all is not a function]
Wie kann ich element
und element.all
verketten, oder gibt es bessere Lösungen, um in diesem Fall eine div
zu überprüfen? Vielen Dank.
Danke, es funktioniert gut. Auf dem letzten Teil - in meinem Code habe ich eine Wrapper-Funktion und einen Iterator, um 'allElements.length' divs zu überprüfen, das ist nur eine kleinere Version des Codes, deshalb löse ich das Versprechen auf diese Weise. Nochmals vielen Dank für Ihre Hilfe! – Georgy