【发布时间】:2016-05-19 12:58:06
【问题描述】:
我正在使用 Selenium 自动化一些 Web 测试,需要通过 xpath 选择元素。
<ul class="class1">
<div>
...
<span class="spanClass"> Text </span>
...
</div>
</ul>
<div class="class2">
<div>
...
<span class="spanClass"> Text </span>
...
</div>
</div>
如果我使用这样的 xpath:
(//ul[@class='class1']//span)[last()]
这会从 div class2 中选择最后一个 span 元素。但我需要 ul class1 中的最后一个 span 元素。
据我了解,我需要使用“.//span”而不是“//span”,所以我尝试了:
(//ul[@class='class1'].//span)[last()]
但这不是一个有效的表达式。但是,如果我这样做:
(//ul.//span)[last()]
现在这是一个有效的表达式,但不保证我使用正确的 ul 元素作为节点(无论如何,对于我想要的东西,它似乎也不正确)。所以这行不通。
我只想从 ul class1 中选择最后一个 span 元素。 ul class1 和 div class2 中将有未知数量的相同 span 元素。所以我不能选择第 N 个跨度元素,因为我不知道这个数字。
【问题讨论】:
标签: xpath