【问题标题】:Xpath to locate a table data cell element based on a condition from another cellXpath 根据来自另一个单元格的条件定位表格数据单元格元素
【发布时间】:2022-01-29 09:33:59
【问题描述】:

有没有办法通过 XPath 根据来自同一行中另一个单元格的条件来定位特定的表格数据单元格元素?我能够通过 Xpath (//td[@role="gridcell"]//span[@title="Professional"])[1] 找到条件单元格。但是,我不确定如何根据条件结果将目标单元格定位在同一行中。目标是在同一行的另一个单元格中,通过 title=professional 的条件定位并单击目标表头中的锚元素。

<table>
  ...
  <tbody>
    <tr>..</tr>
    <tr>..</tr>
    ...
    <tr>
      <td>..</td>
      <th>
        <span class="xxx">
          <a class="yyy" title="my_title">..</a>
        </span>
      </th>
      <td role="gridcell">
        <span class="abc">
          <span title="Professional">Professional</span> 
        </span>            
      </td>
      <td>..</td>
    </tr>
    ... 
  </tbody>
</table>

【问题讨论】:

  • 那么最后你要选择哪个元素呢?是&lt;a class="yyy" title="my_title"&gt;..&lt;/a&gt;吗?

标签: selenium xpath


【解决方案1】:

假设您将&lt;a class="yyy" title="my_title"&gt;..&lt;/a&gt; 元素称为锚元素,您可以使用这个XPath-1.0 表达式

//td[@role='gridcell' and span/span[@title='Professional']]/preceding-sibling::th[1]/span/a

另一个基于 &lt;tr&gt; 元素的有效 XPath 是

//tr[td[@role='gridcell' and span/span[@title='Professional']]]/th/span/a

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多