Je voudrais construire une requête XPath qui retournera un élément "div" ou "table", pourvu qu'il y ait un descendant contenant le texte "abc". Le seul inconvénient est qu'il ne peut pas avoir de descendants div ou table.Requête XPath avec les prédicats descendant et descendant()
<div>
<table>
<form>
<div>
<span>
<p>abcdefg</p>
</span>
</div>
<table>
<span>
<p>123456</p>
</span>
</table>
</form>
</table>
</div>
Ainsi, le seul résultat correct de cette requête serait:
/div/table/form/div
Ma meilleure tentative ressemble à ceci:
//div[contains(//text(), "abc") and not(descendant::div or descendant::table)] | //table[contains(//text(), "abc") and not(descendant::div or descendant::table)]
mais ne retourne pas le résultat correct.
Merci pour votre aide.
Bonne question, +1. Voir ma réponse pour ce qui est probablement la solution la plus courte. :) –