2017-03-03 73 views
1

我有一个表中有多行。我希望xpath用class ='rowaction'识别div(可以在任何td中),但唯一的输入是字符串“TTD”(其可以在任何TD)。基于“TDD”我要找出div.Below是我的HTML结构selenium XPATH在表内识别td

<tbody> 
<tr> 
    <td></td> 
    <td> 
     <div> 
      <div class="rowaction"/> 
     </div> 
    </td> 
    <td> 
    <div> 
      <div /> 
      <span> 
       <span>TTD</span> 
      </span> 
     </div> 
    </td> 
    <td></td> 
    <td></td> 
</tr> 
<tr>..</tr> 
<tr>..</tr> 
</tbody> 

在此先感谢

回答

1

假设只存在一个td,其中包含一个div与该行class每行

//span[contains(text(),'TTD')]/ancestor::tr//div[@class='rowaction'] 

击穿:

查找包含文本 'TTD'(或者确切的文本[text()='TTD']

//span[contains(text(),'TTD')] 

获取包含span

/ancestor::tr 

找到该行的跨度在该行中的div具有确切的class名称'rowaction'

//div[@class='rowaction'] 

就是这样。如果class还有其他事情发生,你也可以做一个contains(@class, 'rowaction')

而只是为了完整,正向轴的方法:

//tr[descendant::span[contains(text(),'TTD')]]//div[@class='rowaction']