Как прочитать значение html тэгов innerHTML, используя css selector или xpath.? - PullRequest
0 голосов
/ 11 марта 2019

Мой фактический запрос: я хочу получить внутреннее текстовое значение HTML, используя селектор css или xpath. Я могу добиться этого, используя document.getElementById, но не используя селекторы, вместо этого я могу печатать только элемент тега, но не текст из него.

Например:

<li class="active">
  <span id="lastPrice">1,603.35</span>
  &nbsp;&nbsp;<span id="CAToday"></span><br>
  <span class="up" id="change">28.80</span>
</li>

Из приведенного выше HTML я хочу напечатать 1 603,35 , используя либо

  • Css или

  • * 1016 XPath *

Примечание: я уже пробил форум, но не смог найти нужного решения.

Ответы [ 3 ]

2 голосов
/ 11 марта 2019

Это выражение XPath

string(/li/span[@id='lastPrice'])

С этим правильно сформированным XML

<li class="active">
  <span id="lastPrice">1,603.35</span>
  <span id="CAToday"></span><br/>
  <span class="up" id="change">28.80</span>
</li>

Результат

1,603.35

Регистрация http://www.utilities -online.info / xpath /? Save = 07d6e884-4f7e-46cc-9aaf-904e6a440f50-xpath

1 голос
/ 11 марта 2019

Вы должны использовать функцию XPath версии 2 matches:

//div[matches(text(), 'Hello ?\w+ What would you like to do today \w+')]

, который допускает регулярные выражения.

0 голосов
/ 11 марта 2019

Java Selenium (пример xpath):

driver.findElement(By.xpath("//span[@id='lastPrice']").getAttribute("innerText")

Python Selenium (пример CSS):

driver.find_element_by_css_selector("span#lastPrice").get_attribute("innerText")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...