Xpath选择当前节点的下一个父节点

时间:2016-07-31 08:49:17

标签: xpath import.io

如果tr包含class="productnamecolor colors_productname"我想要选择包含价格详细信息的下一个tr。所以我用:

.//a[@class="productnamecolor colors_productname"]/parent::node()/following-sibling::tr

但没有奏效。这个表达有什么问题?

HTML:

<tr> 
 <td valign="top" width="100%">
  <a href="unclesamsretailoutlet.com/Trouser-Suspenders-8440015269920-p/…; class="productnamecolor colors_productname" title="Trouser Suspenders, 2323">Trouser Suspenders</a> 
  </td>
</tr>

提前完成。

2 个答案:

答案 0 :(得分:3)

<a>元素的父元素是td元素,而td元素没有后续兄弟元素 - 当然不是后续兄弟元素{{1 }}。如果您想要表格中的下一行,请使用

tr

.//a[@class="..."]/ancestor::tr[1]/following-sibling::tr[1]

答案 1 :(得分:1)

如果您想在tr之后选择下一个<a class="productnamecolor colors_productname">,只需使用以下两种方式: -

  • 使用following轴:

    (.//a[@class="productnamecolor colors_productname"]/following::tr)[1]
    
  • 使用preceding 轴:

    (.//tr[preceding::a[@class="productnamecolor colors_productname"])[1]
    

希望它有帮助...:)