В основном я хочу выбрать узел (div), в котором его дочерний узел (h1, b, h3) содержит указанный текст.
<html>
<div id="contents">
<p>
<h1> Child text 1</h1>
<b> Child text 2 </b>
...
</p>
<h3> Child text 3 </h3>
</div>
Я ожидаю, / html / div / not / html / div / h1
У меня есть это ниже, но, к сожалению, возвращает div вместо xpath в div.
expression = "//div[contains(text(), 'Child text 1')]"
doc.xpath(expression)
Я ожидаю, / html / div / not / html / div / h1
Так есть ли способ сделать это просто с помощью синтаксиса xpath?