@jonghi

Как извлекать данные из xpath если они меняются?

Всем привет, существует проблема в использовании IMPORTXML.

Данные на странице меняются. Если меньше 10 транзакций то выглядит так:
<p class="mr-2 mb-2">
Latest 2 from a total of 2 transactions
</p>


Но если больше 10 транзакций, то так:
<p class="mr-2 mb-2">
Latest 25 from a total of <a href="/" data-toggle="tooltip" title="" data-original-title="Click to view full list">70</a> transactions
</p>


Соответственно я хочу объединить запросы IMPORTXML, чтобы если больше 10 то он брал значение из ссылки, если меньше то просто из строки брал число. Как это сделать?
/html/body/div[1]/main/div[4]/div[3]/div[2]/div/div[1]/div[1]/p/a or /p/text()[2]


Просто возвращает истину или ложь.
  • Вопрос задан
  • 95 просмотров
Решения вопроса 1
@Roman-Fov
Зачем вообще эти или?
Можно просто выбрать строку и дальше с ней работать. И без разницы как оно там выводится для разного количества
/foo/p/descendant::text()
string-join(/foo/p/descendant::text(), ' ')

Дано:
<foo>
<p class="mr-2 mb-2">
Latest 25 from a total of <a href="/" data-toggle="tooltip" title="" data-original-title="Click to view full list">70</a> transactions
</p>
</foo>


Результат:
String='Latest 25 from a total of  70  transactions'


Дано:
<foo>
<p class="mr-2 mb-2">
Latest 2 from a total of 2 transactions
</p>
</foo>


Результат:
String='Latest 2 from a total of 2 transactions'
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы