我正在尝试点击第一个按钮,以删除第二个按钮所对应的项目。
<tr>
<td>
<div class="btn-group">
<button class="btn btn btn-danger" name="delete" type="button">
</div>
</td>
<td>
<span class="class"></span>
</td>
<td>
<button class="btn" name="item" type="button">
</td>
</tr>
XPath
//button[contains(.,'${ITEM}')]/preceding-sibling::button[@name='delete']
preceding::
,在末尾需要加上[1]
。我更新了我的答案以保证完整性。 - JLRishepreceding::button[1]
选择的是第一个匹配项,还是最近的匹配项(即最后一个匹配项)? - jpaughpreceding...
和ancestor...
轴被称为“反向轴”:https://www.w3.org/TR/xpath/#predicates - JLRishepreceding-sibling
的工作原理,这也是我问的原因。我会加入“closest”的编辑,因为这样更不会引起混淆,可以明确地指向文档顺序。 - jpaugh