2013-11-03 60 views
2

我被困根據已知的td類爲標題創建xpath。xpath根據已知的嵌套td元素的表標題

<tr> 
<td class="..."> 
    <table class="..."> 
     ... 
    </table> 
</td> 
<td class="...">  
    <table class="..."> 
     <caption class="...">CAPTION_WANTED</caption> 
     <colgroup> 
      ... 
     </colgroup> 
     <tbody> 
      ... 
      <tr class="..."> 
       ... 
      </tr> 
      <tr class="..."> 
       ... 
       <td class="..."> 
        ... 
       </td> 
       <td class="TD_KNOWN"> 
        <div class="...">...</div> 
       </td> 
       ... 
      </tr> 
      ... 
     </tbody> 
    </table> 
</td> 
</tr> 
... 

我試過這個://*tr[KNOWN_ID]/td/table[tbody[tr[td[@class,"TD_KNOWN"]]]]/caption但它沒有奏效。 當我想要包含smth的smth包含smth ...時,我應該使用方括號嗎?

+0

的webdriver無法找到一個元素 – AntonK

+0

你能PLS給你想要的輸出 – Raghavendra

回答

1

任一這些的XPath的:

//td[@class="TD_KNOWN"]/../../../caption 

//td[@class="TD_KNOWN"]/ancestor::table[1]/caption 

施加到您的輸入XML將產生:

<caption class="...">CAPTION_WANTED</caption> 
每您的請求

如果您想要文本本身,只需將/text()附加到上述任一XPath中。例如,

//td[@class="TD_KNOWN"]/ancestor::table[1]/caption/text() 

將產生

CAPTION_WANTED