Селен Java не может получить HTML-текст - PullRequest
0 голосов
/ 29 октября 2019

У меня есть этот HTML-код:

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

Я хочу получить текст / 16, но когда я пытаюсь:

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

, я получаю это исключение: org.openqa.selenium. InvalidSelectorException: неверный селектор при попытке найти элемент

Как я могу это исправить? (Если я получу 4/16 тоже хорошо ...) заранее спасибо

Ответы [ 3 ]

0 голосов
/ 29 октября 2019
String slotTot = driver.findElement(By.xpath("//span[normalize-space(@id='slotUsed']")).gettext();

Надеюсь, это поможет вам.

0 голосов
/ 29 октября 2019

Использовать xpath Использовать following-sibling:

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

Как показано ниже:

String slotTot = driver.findElement(By.xpath("//span[@id='slotUsed']/following-sibling::text()[1]")).getText();
0 голосов
/ 29 октября 2019

Чтобы получить текст SlotUsed

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

Чтобы получить подытог (подытог является частью первого элемента диапазона)

  String total=driver.findElement(By.xpath(".//span[@id='slotTotal']")).getText();
  System.out.println("Total"+total);
...