2013-11-03 62 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