scrapy и xpath: получить текст в дочернем элементе, если родительский элемент содержит текст - PullRequest
0 голосов
/ 29 декабря 2018

Как получить текст дочернего элемента, если родительский элемент содержит текст с определенной строкой?

Например:

<li>
    "string1"
    <span>
        "Hello"
    </span>
</li>
<li>
    "string2"
    <span>
        "Ola"
    </span>
</li>

Из приведенного выше HTML-кода, какполучить только строку "Ola", используя xpath?

1 Ответ

0 голосов
/ 29 декабря 2018

Не зная scrapy, я бы попытался

//li[text()[contains(.,"string2")]]/span/text()
  • //li[text()[contains(.,"string2")]] выбрать li элемент, текст которого содержит string2
  • /span выбрать элемент span ниже выбранного li
  • /text(): вернуть текст выбранного элемента диапазона

Обновление: это проще и также должно работать:

//li[contains(text(),"string2")]/span/text()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...