2015-06-14 60 views
0

我的HTML來選擇其標題列無法通過的XPath

<table id="flex1" cellspacing="0" cellpadding="0" border="0"> 
<thead> 
<tr class="hDiv"> 
<th width="6%"> 
<div class="text-left field-sorting asc" rel="IFSC_CODE"> IFSC CODE </div> 
</th> 
<th width="6%"> 
<div class="text-left field-sorting " rel="BRANCH_NAME"> BRANCH NAME </div> 
</th> 
</tr> 
</thead> 
<tbody> 
<tr> 
<td class="sorted" width="6%"> 
<div class="text-left">SACS011151</div> 
</td> 
<td width="6%"> 
<div class="text-left">check</div> 
</td> 
</tr> 
<tr class="erow"> 
<td class="sorted" width="6%"> 
<div class="text-left">SACS011152</div> 
</td> 
<td width="6%"> 
<div class="text-left">Motiram</div> 
</td> 
</tr> 
<tr class="erow"> 
<td class="sorted" width="6%"> 
<div class="text-left">SACS011158</div> 
</td> 
<td width="6%"> 
<div class="text-left">TESTNAME</div> 
</td> 
</tr> 
</tbody> 
</table> 

我的XPath

//table/tbody/tr/td[count(//table/thead/tr/th[.='BRANCH NAME']/preceding-sibling::th)+4] 

以上XPath是選擇所有的列,但不選擇它的頭名「分支名」,我想選擇所有列的標題名稱。任何想法如何做到這一點?

回答

1

你可以簡單地使用XPath union運算符(|)兩個XPath查詢相結合,例如*:

//table/tbody/tr/td[count(//table/thead/tr/th[.='BRANCH NAME']/preceding-sibling::th)+4] 
    | 
//table/thead/tr/th[.='BRANCH NAME'] 

*:格式化成多行只是爲了讓沒有水平滾動可見

+0

以及我使用// table/tbody/tr/td [4] | //table/thead/tr/th[.='BRANCH NAME'],但仍然沒有選擇BRANCH NAME – Ab123

+0

// table/thead/tr/th [4] | // table/tbody/tr/td [4]這個XPath的作品。 – Ab123