Xpath 根据来自另一个单元格的条件定位 table 数据单元格元素

Xpath to locate a table data cell element based on a condition from another cell

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

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

假设您将 <a class="yyy" title="my_title">..</a> 元素称为锚元素,您可以使用此 XPath-1.0 表达式

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

另一个基于 <tr> 元素的有效 XPath 是

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