<div class='table-wrap'>
<table class='dashTable'><tbody>
<tr>
<td class='dashBoard'><b>ID</b></td>
<td class='dashBoard'><b>Name</b></td>
<td class='dashBoard'><b>TEP</b></td>
<td class='dashBoard'><b>Status</b></td>
</tr>
<tr>
<td class='dashBoard'>001</td>
<td class='dashBoard'>Liam</td>
<td class='dashBoard'><font color="#00875a"><b>2-Nov-2022 1 PM CET</b> </font></td>
<td class='dashBoard'> </td>
</tr>
<tr>
<td class='dashBoard'>002</td>
<td class='dashBoard'> <b><font color="#00875a">Noah</font></b></td>
<td class='dashBoard'> <b><font color="#00875a">2-Nov-2022 1 PM CET</font></b> </td>
<td class='dashBoard'> </td>
</tr>
<tr>
<td class='dashBoard'>003</td>
<td class='dashBoard'> <b><font color="#00875a">James</font></b></td>
<td class='dashBoard'><font color="#00875a"><b>2-Nov-2022 1 PM CET</b> </font></td>
<td class='dashBoard'> </td>
</tr>
<tr>
<td class='dashBoard'>004</td>
<td class='dashBoard'>Lucas<br/>
<del>Lauren</del><br/>
<b><font color="#00875a">Lucie</font></b></td>
<td class='dashBoard'> <b><font color="#00875a">2-Nov-2022 6 PM JST</font></b></td>
<td class='dashBoard'> </td>
</tr>
</tbody></table>
</div>
I'm trying to write a query by which from every td[2]
I will grab only the element b[font]
, but if td[2]
does not have b[font]
, then it should select the entire td[2]
attribute with all its elements.
I've stopped on this, the query finds only b[font]
, but skips td[2]
if there are no child elements:
//div[@class="table-wrap"]/table/tbody/tr/td[2]/b[font]
Thank you in advance!
This XPath will get elements as requested
//div[@class="table-wrap"]/table/tbody/tr/td[2]/b[font] | //div[@class="table-wrap"]/table/tbody/tr/td[position()=2 and not(b[font])]
Result
<td class="dashBoard"><b>Name</b></td>
<td class="dashBoard">Liam</td>
<b><font color="#00875a">Noah</font></b>
<b><font color="#00875a">James</font></b>
<b><font color="#00875a">Lucie</font></b>