2017-03-03 76 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']