Я хотел бы создать запрос XPath, который будет возвращать элемент «div» или «table», если у него есть потомок, содержащий текст "abc". Единственное предостережение заключается в том, что он не может иметь потомков div или table.
<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)]
но не возвращает правильный результат .
Спасибо за вашу помощь.