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
有没有一种方法可以通过 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