xpath在两个节点之间选择元素

xpath在两个节点之间选择元素,xpath,Xpath,这是我的HTML: <table dir = "rtl ......."> <tbody> <script src = "get.aspx?type=js&file=ajax&rev=3"......> <script language = "JavaScript" src = "get.aspx?type=js&file=mc&rev=6"></script> <script>..</

这是我的HTML:

<table dir = "rtl .......">
<tbody>
<script src = "get.aspx?type=js&file=ajax&rev=3"......>
<script language = "JavaScript" src = "get.aspx?type=js&file=mc&rev=6"></script>
<script>..</script>
<tr>
  <td class = "d2"...>..</td>
</tr>
<tr>..</tr> <--
<tr>..</tr> <--
<tr>..</tr> <-- these elements
<tr>..</tr> <--
<tr>..</tr> <--
<tr>..</tr> <--
<tr>..</tr> <--
<tr>
  <td class = "d2"...>..</td>
</tr>
<script>..</script>
<tr>..</tr>
<tr>..</tr>
<tr>..</tr>

..
..

.. xpath将会很长,所以请做好准备:

count(//tr[preceding-sibling::tr/td[@class = 'd2']][count(.|//tr[following-sibling::tr/td[@class = 'd2']])=count(//tr[following-sibling::tr/td[@class = 'd2']])])
要选择实际节点而不仅仅是计数,只需删除第一个计数:

//tr[preceding-sibling::tr/td[@class = 'd2']][count(.|//tr[following-sibling::tr/td[@class = 'd2']])=count(//tr[following-sibling::tr/td[@class = 'd2']])]
这里发生了各种各样的事情,特别是:

  • 通过选择id为='2'的前一个同级的子节点tr/td来选择开始节点
  • 通过选择以下id为='2'的同级子节点tr/td来选择结束节点
  • 使用kaycian方法:获取两个节点之间的交点

xpath将是一个很长的xpath,所以请做好准备:

count(//tr[preceding-sibling::tr/td[@class = 'd2']][count(.|//tr[following-sibling::tr/td[@class = 'd2']])=count(//tr[following-sibling::tr/td[@class = 'd2']])])
要选择实际节点而不仅仅是计数,只需删除第一个计数:

//tr[preceding-sibling::tr/td[@class = 'd2']][count(.|//tr[following-sibling::tr/td[@class = 'd2']])=count(//tr[following-sibling::tr/td[@class = 'd2']])]
这里发生了各种各样的事情,特别是:

  • 通过选择id为='2'的前一个同级的子节点tr/td来选择开始节点
  • 通过选择以下id为='2'的同级子节点tr/td来选择结束节点
  • 使用kaycian方法:获取两个节点之间的交点

自2020年2月18日起,链路断开。自2020年2月18日起,链路断开。