问题
I have thead and tbody in the table. Thead contains a few s in . Each of it have an id. I need to find the index of td in thead by id and then find by index in tbody.
<table>
<thead>
<tr>
<td data-date="2019-08-05"></td>
<td data-date="2019-08-06"></td> //find index of this element
<td data-date="2019-08-07"></td>
</tr>
</thead>
<tbody>
<tr>
<td>aaa</td>
<td>bbb</td> //find this element by found index
<td>ccc</td>
</tr>
</tbody>
</table>
upd
<table>
<thead>
<tr>
<td data-date="2019-08-05"></td>
<td data-date="2019-08-06"></td>
<td data-date="2019-08-07"></td>
<td data-date="2019-08-08"></td> //find index of this element
<td data-date="2019-08-09"></td>
</tr>
</thead>
<tbody>
<tr>
<td rowspan="2"></td>
<td rowspan="2" class="rrrr">event1 2019-08-06</td>
<td class="rrrr">event1 2019-08-07</td>
<td class="rrrr"event1 2019-08-08</td> //find this element by found index
<td rowspan="2"></td>
</tr>
<tr>
<td class="rrrr">event2 2019-08-07</td>
<td class="rrrr">event2 2019-08-08</td> //find this element by found index
</tr>
</tbody>
</table>
回答1:
This xpath expression
//tbody//td[count(//thead//td[@data-date='2019-08-06']/preceding-sibling::*)+1]
selects
<td>bbb</td>
来源:https://stackoverflow.com/questions/57728445/get-index-of-the-specific-td-in-tr-by-xpath