2014-02-18 54 views
0

我有这个标记:XPATH元素时HTML是相同

<tr> 
    <td> 
     <span class="text">Bedford, Franklin Court</span> 
    </td> 
</tr> 

<tr> 
    <td> 
      <span> First Row</span> 
    </td> 
</tr> 

<tr> 
    <td> 
     <span class="text">Jo Ghartey_Officer4)</span> 
    </td> 
</tr> 


<tr> 
    <td> 
     <span class="text">Jo Ghartey_Oficer4)</span> 
    </td> 
</tr> 

我试图找到其中包含乔加尔泰第一跨度的XPath。我试过在含有'贝德福德'的跨度后使用下面的兄弟姐妹,但是我不能始终保证<tr> <td> <span>将始终是Bedoford <tr>之后的第二个<tr>。所以当我尝试xpath=//span[contains(,.'Bedford')]/../../following-sibling::tr[2]/td/span它发现元素没有问题。但是如果Bedford和Jo Ghartey之间还有另一个<tr> <td> <span>,那么我将不得不改变索引。我所知道的是我会一直在寻找第一个包含Jo Ghartey的跨度。我希望这是有道理的...

回答

2

如果您使用(//span[contains(., 'Jo Ghartey')])[1],请选择第一个span元素,其字符串值包含字符串Jo Ghartey

+0

的OP可能需要采用此找到所需的'以下,sibling'所以寻找先上后下,兄弟''与属性'class' =“文本”可能是更接近什么OP是寻找。 +1。 – Filburt

相关问题