У меня есть этот 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 ответа
Чтобы получить текст SlotUsed
String slotUsed= driver.findElement(By.xpath("//span[@id='slotUsed']")).gettext();
System.out.println("Value of used slot"+slotUsed);
Получить SubTotal (промежуточный итог является частью первого элемента span)
String total=driver.findElement(By.xpath(".//span[@id='slotTotal']")).getText();
System.out.println("Total"+total);
Используйте xpath
, используйте following-sibling
:
//span[@id='slotUsed']/following-sibling::text()[1]
Как ниже:
String slotTot = driver.findElement(By.xpath("//span[@id='slotUsed']/following-sibling::text()[1]")).getText();
String slotTot = driver.findElement(By.xpath("//span[normalize-space(@id='slotUsed']")).gettext();
Надеюсь, что это поможет вам.
Похожие вопросы
Связанные вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.