xpath前兄弟不工作

时间:2014-05-11 05:12:45

标签: xpath

我试图点击第一个按钮,删除第二个按钮项目。

<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']

1 个答案:

答案 0 :(得分:2)

我假设您没有向我们展示示例HTML中的按钮文字,因为您的按钮似乎都没有任何内容。

preceding-sibling在这里不起作用,因为这两个按钮不是兄弟姐妹。但是preceding::button应该适用于这种情况。请注意最后的[1],以便选择最接近的匹配项:

//button[contains(.,'${ITEM}')]/preceding::button[@name='delete'][1]

以下内容也应该有效,在我看来有点清洁:

//tr[.//button[contains(., '${ITEM}')]]//button[@name  ='delete']