这是我的DOM示例:
<div id="x-auto-2121" class="GI05A-4CEKC">
<div class="GI05A-4CBKC GI05A-4COJC GI05A-4CGKC GI05A-4CFKC">
<img style="height: 18px; width: 17px;" src="https://someserver.com/clear.gif"/>
<img class="GI05A-4CDKC"/>
<img class="GI05A-4CMJC"/>
<img class="GI05A-4CCKC"/>
<span class="GI05A-4CHKC">
<span>The Unique Value I Can Search For</span>
</span>
</div>
</div>
我知道价值&#34;我可以搜索的独特价值&#34;并且可以使用类似//span[text()='The Unique Value I Can Search For']
问题是我想选择祖父母的第三个孩子:
<img class="GI05A-4CMJC"/>
我试图使用Selenium来测试非常自动化的UI(诅咒你,GXT)。显然,我对xpath很新。
答案 0 :(得分:1)
<div id="x-auto-2121" class="GI05A-4CEKC">
<div class="GI05A-4CBKC GI05A-4COJC GI05A-4CGKC GI05A-4CFKC"> <-- Common ancestor
<img src="https://someserver.com/clear.gif"/>
<img class="GI05A-4CDKC"/>
<img class="GI05A-4CMJC"/> <-- Node of interest
<img class="GI05A-4CCKC"/>
<span class="GI05A-4CHKC">
<span>The Unique Value I Can Search For</span> <-- Node of interest
</span>
</div>
</div>
从关键节点开始,向上导航到感兴趣节点的共同祖先,然后深入查看结果。我们的核心是
//span/../../img
然后是指定我们想要哪个span
和img
的问题。
//span[text()='The Unique Value I Can Search For']/../../img[3]
从感兴趣的节点的共同祖先开始,然后深入研究结果。我们的核心是
//div/img
然后是指定我们想要哪个div
和img
的问题。
//div[span/span/text()='The Unique Value I Can Search For']/img[3]
答案 1 :(得分:0)
您可以使用具有正确ID的标记启动xpath。如果id不是动态的,您可以使用下面的xpath来获取所需的元素。
//div[@id='x-auto-2121']/div/img[3]