Uso il selenio per ottenere del testo sulla mia pagina Web utilizzando xpath.Lettura del testo utilizzando il selenio web (xpath)
La struttura dei tag pagina è la seguente -
<span id="data" class="firefinder-match">
Seat Height, Laden
<sup>
<a class="speckeyfootnote" rel="p7" href="#">7</a>
</sup>
</span>
Se uso il seguente codice -
driver.findElement(By.xpath("//span[@id='data']")).getText();
ottengo il risultato = Seat Height, Laden 7
ma voglio evitare di leggere il testo all'interno dei tag <sup>
e ottieni il risultato Seat Height, Laden
Per favore fatemi sapere quale espressione xpath posso usare per ottenere il risultato desiderato.
Um. In semplice XPath (che sarebbe in grado di restituire Stringhe e non solo WebElement), si potrebbe fare '// span [@ id = 'data']/text() [1]'. Una possibile soluzione che posso pensare usa JS, la seconda ottiene l'intero testo e poi cancella tutto da elementi figlio. Entrambe le soluzioni sono piuttosto brutte e mi piacerebbe vederne una più bella. Ad ogni modo, se non c'è risposta in un tempo ragionevole breve, lo posterò. –
Qualsiasi ragione per cui xpath è la tua unica opzione? Webdriver impiega più tempo per individuare un elemento con xpath – Amey
beh, io uso xpath solo perché mi sento a mio agio con esso. Se c'è un altro modo per risolvere il mio problema, te ne sarò grato. –