首页 > 解决方案 > 如何组合两个 xpath,以便我可以根据显示的文本单击编辑图标

问题描述

在网格中,我想单击编辑图标,但根据下一列中的文本,我想单击编辑图标。

为此,我想结合两个 xpath。

我试过这个xpath

/tbody/tr/td[1]/a/following-sibling:://td[contains(text(),'m/s macro power contactors')]

下面是我的 HTML 代码

<tbody>
  <tr role="row" class="odd">…&lt;/tr>
  <tr role="row" class="even">…&lt;/tr>
  <tr role="row" class="odd">…&lt;/tr>
  <tr role="row" class="even">…&lt;/tr>
  <tr role="row" class="odd">
    <td class="sorting_1">
      <a style="color:red;" title="Clike here to Edit"href="javascript:EditClick(3779)" class="ace-icon fa fa-pencil bigger-130 green">…&lt;/a>
    </td>
    <td>m/s macro power contactors</td>
    <td>LC0063</td>
    <td>Local</td>
    <td></td>
  </tr>
  <tr role="row" class="even">…&lt;/tr>
  <tr role="row" class="odd">…&lt;/tr>

每行都有一个编辑图标,我可以轻松单击编辑图标而没有困难

我所期待的是基于这个“m/s 宏电源接触器”,我想点击编辑图标。

标签: seleniumselenium-webdriverxpath

解决方案


您需要从文本开始,然后沿着 html 树向上工作

//td[.='m/s macro power contactors']/preceding-sibling::td/a

推荐阅读