Я хотел бы построить запрос XPath, который вернет элемент "div" или "table", если у него есть потомок, содержащий текст "abc". Одно из предостережений состоит в том, что у него не может быть потомков div или таблиц.
<div>
<table>
<form>
<div>
<span>
<p>abcdefg</p>
</span>
</div>
<table>
<span>
<p>123456</p>
</span>
</table>
</form>
</table>
</div>
Таким образом, единственным правильным результатом этого запроса будет:
/div/table/form/div
Моя лучшая попытка выглядит примерно так:
//div[contains(//text(), "abc") and not(descendant::div or descendant::table)] | //table[contains(//text(), "abc") and not(descendant::div or descendant::table)]
но не возвращает правильный результат.
Спасибо за вашу помощь.