我想构造一个返回“div”或“table”元素的 XPath 查询,只要它有一个包含文本“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)]
但不返回正确的结果。
谢谢你的帮助。