Я боролся с некоторыми манипуляциями с xPath в данный момент. У меня есть этот HTML-скребок в Python, который будет анализировать дерево HTML после определенного набора <li>
и извлекать его text()
. Проблема в том, что некоторые из этих <li>
имеют <i class='ok'></i>
без текста внутри.
<html>
<body>
<div>
<ul>
<li>Text...</li>
<li>Other text...</li>
<li><i class='ok'></i></li>
<li><i class='ok'></i>Another text...</li>
</ul>
</div>
</body>
</html>
Мой селектор xPath на данный момент выглядит следующим образом:
row_value = '(//div[contains(@id,"phone_columns")]' \
'/div/ul[contains(@class,"phone_column_features")]' \
'/li/text() | ' \
'//div[contains(@id,"phone_columns")]' \
'/div/ul[contains(@class,"phone_column_features")]' \
'/li/i/@class)'
Я хочу получить значение класса в некоторых случаях, но большинство из них подойдет text()
.
Токовый выход:
[ "Text...", "Other text...", "ok", "ok", "Another text..." ]
Желаемый вывод:
[ "Text...", "Other text...", "ok", "ok Another text..." ]
Заранее спасибо,
Цезарь Лидке