Estoy escribiendo una prueba JUnit para una página web, usando Selenium, y estoy tratando de verificar que el texto esperado exista dentro de una página. El código de la página web que estoy probando el siguiente aspecto:Selenio: Extraiga el texto de un div con cssSelector en Java
<div id="recipient_div_3" class="label_spacer">
<label class="nodisplay" for="Recipient_nickname"> recipient field: reqd info </label>
<span id="Recipient_nickname_div_2" class="required-field"> *</span>
Recipient:
</div>
quiero comparar lo que se espera de lo que es en la página, así que quiero utilizar Assert.assertTrue(). Yo sé que para conseguir todo, desde el div, que puede hacer
String element = driver.findElement(By.cssSelector("div[id='recipient_div_3']")).getText().replaceAll("\n", " ");
pero esto volveré "reqd información * Beneficiario:"
¿Hay alguna manera de obtener sólo el texto de la div ("Destinatario ") usando cssSelector, sin las otras etiquetas?
El localizador XPath proporcionada es lógica y trabaja en la consola de Chrome, pero no va a trabajar en selenio. Selenium lanzará el siguiente error ... 'El selector dado // div [@ class = 'StdLevel1']/text() no es válido o no da como resultado un WebElement. Se produjo el siguiente error: InvalidSelectorError: el resultado de la expresión xpath "// div [@ class = 'StdLevel1']/text()" es: [object Text]. Debería ser un elemento. – BSchlinker
Entonces, ¿hay alguna solución o simplemente tomarías div y analizarías la cadena getText()? –
A mi entender, el selenio Infact hace para permitir la función de texto(), nodo, etc. – SIslam