我正在尝试编写Xpath来唯一标识一个元素 该文件看起来像这样
<AAA>
<div> </div>
<div> </div>
<div>
<div id='d'>YES</div>
</div>
<div> </div> ---> Want to select based on the mentioned sibling condition
<div> </div>
</AAA>
我想选择跟随div元素兄弟的div元素,包含子div元素[含有]。 我试过这样做失败了:
//following-sibling::div[@id='d']/div[contains(. , 'YES')]
请帮忙。
答案 0 :(得分:2)
选择包含div
的任何div
的以下同级YES
元素的XPATH将是:
//div[contains(., 'YES')]/following-sibling::div
在您当前的XML中,第三个div
及其子div
都包含 YES 作为其值。孩子这里没有兄弟姐妹。
因此,只会选择最后两个div
元素(它们是XML中第三个div
的后续元素)。
修改强>
//div[div[contains(., 'YES')]]/following-sibling::div[1]
这会选择任意div
的第一个以下同级div
元素,其中包含子div
(值 YES )。
答案 1 :(得分:2)
您可以尝试这种方式:
//div[div[@id='d' and contains(.,'YES')]]/following-sibling::div[1]