Estoy usando selenio para obtener texto en mi página web usando xpath.Lectura de texto usando selenium webdriver (xpath)
La estructura de la página etiqueta es de la siguiente manera -
<span id="data" class="firefinder-match">
Seat Height, Laden
<sup>
<a class="speckeyfootnote" rel="p7" href="#">7</a>
</sup>
</span>
Si utilizo el siguiente código -
driver.findElement(By.xpath("//span[@id='data']")).getText();
consigo el resultado = Seat Height, Laden 7
Pero quiero evitar la lectura de la texto dentro de las etiquetas <sup>
y obtenga el resultado Seat Height, Laden
Háganme saber qué expresión xpath puedo usar para obtener el resultado deseado.
Um. En XPath simple (que podría devolver cadenas y no solo WebElements), podría hacer '// span [@ id = 'data']/text() [1]'. Una posible solución que se me ocurre usa JS, la segunda obtiene el texto completo y luego elimina todo de los elementos secundarios. Ambas soluciones son bastante feas y me gustaría ver una mejor. De todos modos, si no hay respuesta en un tiempo razonablemente corto, lo publicaré. –
¿Por qué razón xpath es tu única opción? Webdriver tarda más tiempo en localizar un elemento mediante xpath – Amey
, así que utilizo xpath solo porque me siento cómodo con él. Si hay alguna otra forma de resolver mi problema, lo agradeceré. –