Tengo este código HTML:

<span id="slotTotal">
    <span id="slotUsed">4</span>
          /16
</span>

Quiero obtener texto / 16 pero cuando lo intento:

slotTot = driver.findElement(By.xpath("//*[@id='slotTotal']")).getText();

Recibo esta excepción: org.openqa.selenium.InvalidSelectorException: selector no válido al intentar localizar un elemento

¿Cómo puedo arreglar eso? (Si obtengo 4/16 también es bueno ...) gracias de antemano

0
Davide Melis 29 oct. 2019 a las 01:32

3 respuestas

La mejor respuesta

Para obtener texto de SlotUsed

String slotUsed= driver.findElement(By.xpath("//span[@id='slotUsed']")).gettext();
System.out.println("Value of used slot"+slotUsed);

Para obtener SubTotal (el subtotal es parte del primer elemento span)

  String total=driver.findElement(By.xpath(".//span[@id='slotTotal']")).getText();
  System.out.println("Total"+total);
0
Dipak Bachhav 28 oct. 2019 a las 23:15

Utilice xpath utilice following-sibling:

//span[@id='slotUsed']/following-sibling::text()[1]

Como abajo:

String slotTot = driver.findElement(By.xpath("//span[@id='slotUsed']/following-sibling::text()[1]")).getText();
0
frianH 29 oct. 2019 a las 03:52
String slotTot = driver.findElement(By.xpath("//span[normalize-space(@id='slotUsed']")).gettext();

Espero que esto te ayude.

0
frianH 1 nov. 2019 a las 12:57