Mein Code ist wie folgt, der Code besteht darin, die Elemente über Xpath zu setzen und einen list<String>
mit den Texten jedes Elements zu generieren im Elementsatz. Es wird jedoch immer eine Ausnahme ausgelöst, wenn der Text jedes Elements zum neuen List<String>
hinzugefügt wird.StableElementReferenceException: Element nicht im Cache gefunden - vielleicht hat sich die Seite seit der Suche geändert
protected List<String> getHeaders(String path){
List<String> headers = new ArrayList<String>();
int count = 0;
List<WebElement> elements = findAllByXpath(path);
LOG.info("The length is : " + String.valueOf(elements.size()));
for (WebElement c: elements) {
LOG.info("->> " + String.valueOf(count));
count++;
headers.add(c.getText());
}
return headers;
}
Das Ergebnis ist:
INFO com.xxx.test - The length is: 13
INFO com.xxx.test ->> 0
INFO com.xxx.test ->> 1
INFO com.xxx.test ->> 2
INFO com.xxx.test ->> 3
INFO com.xxx.test ->> 4
INFO com.xxx.test ->> 5
com.xxx.test -> getHeaders FAILED org.openqa.selenium.StableElementReferenceException:Element not found in the cache - perhaps the page has changed since it was looked up
kann jemand helfen in diesem Fall? Vielen Dank!
Kann y o Sicherstellen, dass "Element nicht im Cache gefunden wurde - hat sich die Seite seit der Suche geändert?", dass Ihre Webseite zwischenzeitlich nicht aktualisiert wurde, während der Text des Elements der neuen Liste hinzugefügt wurde? –
Hallo Mrunal, vielen Dank für den Kommentar, tatsächlich denke ich, die Seite wird während des Hinzufügens aktualisiert. Weißt du trotzdem, die Header (Liste) in diesem Fall zu bekommen? Ich schätze, ich kann nicht alle Elemente von xpath wieder holen, wenn ich den Text eines Elements einzeln hinzufüge, also ist das der Unterschied zu anderen Problemen wie "Element nicht im Cache gefunden - vielleicht der ..." –