为什么XPath last()函数无法正常运行?
我正在使用Java和Selenium编写测试。我需要将另一个元素内的最后一个元素,所以我使用last()
函数,但是问题是,当我申请时,它并不总是给我带来最后一个:
//a//b[last()]
至
<a> <l>
<b>asas</b>
</l>
<b>as</b>
</a>
得到<b>as</b>
,它带给我:
<b>asas</b><b>as</b>
但是当我将其应用于:
<a> <b>asas</b>
<b>as</b>
</a>
它带给我:
<b>as</b>
回答:
首先是简单的部分:
//a
选择a
文档中的所有元素。//a//b
选择b
文档中属于a
元素后代的所有元素。
到目前为止,正常的东西。
- 要
b
在 (a
元素之下)选择最后一个元素://a//b[last()]
此处,过滤是b
选择标准的一部分,因为[]
优先级高于//
。
- 要选择 的最后一个
b
元素(在元素之下):a
(//a//b)[last()]
在此,由于是用于覆盖默认优先级的,所以它是last()
所有选定b
元素列表上的索引()
。
以上是 为什么XPath last()函数无法正常运行? 的全部内容, 来源链接: utcz.com/qa/423685.html