Xpath还包含父、子节点的特定值

本文关键字:子节点 包含父 Xpath | 更新日期: 2023-09-27 18:02:02

我有一个如下的html结构

 <tr valign="middle" align="left">
  <td>&nbsp;</td>
  <td class="table_row"><div align="left"></div></td>
  <td class="table_row"><div align="right" class="news_headline_txt">&nbsp;</div></td>
  <td class="table_row"><div align="right">28.02.2013</div></td>
  <td class="table_row"><div align="right"><a onClick="window.open('show.php?id=id_9000')" href="javascript:;"></a></div></td>
  <td>&nbsp;</td>
</tr>

我可以得到下面的onclick值

"//a[contains(@onclick, 'id_')]/@href

但是当我得到onclick值时,我想要匹配tr的第三td值<td class="table_row"><div align="right">28.02.2013</div></td>包含02.03

Thanks in advance

Xpath还包含父、子节点的特定值

所以你想找到一个具有特定位置的td的TR,然后找到其中的锚点:

//tr[td[position()=4][contains(text(), '02.03')]]//a[contains(@onclick, 'id_')]/@href

你也可以使用sibling轴:

//td[position()=4][contains(text(), '02.03')]/following-sibling:td//a[contains(@onclick, 'id_')]/@href

注意位置检查是针对第4个td,因为在行开始处有一个空白填充td