Ho un div
con un ID univoco. Sotto che div
sono un gruppo di elementi span
che hanno className=foo
. Esistono diversi elementi span
con className=foo
ma sono univoci per ogni div
(se questo è chiaro). Quindi il mio codice Selenio prima ottiene l'unico div
come elemento web poi cerca di prendere tale elemento e ottenere dal nome della classe del span
in questo modoSelenium WebDriver accede a un elemento secondario
element = sDriver.findElement(By.id("c_"+cID));
String sTest = element.findElement(By.className("actions")).getText();
Sulla seconda riga viene generata un'eccezione ogni volta
org.openqa.selenium.StaleElementReferenceException: Element not found in the cache - perhaps the page has changed since it was looked up
Command duration or timeout: 22 milliseconds
Ho frainteso come ottenere che span
da un unico div
?
È anche possibile controllare qui [una possibile soluzione] (http://stackoverflow.com/a/7474518/1077279). – shamp00
Questo sembra essere se metto un sonno e aspetto qualche secondo che funzioni bene. Senza un buon modo per capire se la pagina è stata caricata completamente, penso che, sfortunatamente, ho bisogno di usare solo il sonno – ducati1212
, è possibile combinare sia il sonno che l'eccezione. Prova ad accedere a entrambi gli elementi senza dormire in primo luogo e quando fallisce, usa una sospensione e riprova in seguito – chaosr