2016-11-07 7 views
0

У меня следующий фрагмент кода HTML:Как найти элемент с использованием продвинутого метода Xpath?

<div class="pagging-box status-border status-border"> 
    <div class="left-container"> 
     <div> 
      <div class="clientid-hover"> 
      <h4>AAB52</h4> 
      <div class="hover-title" style="display: none;"> 
      <p>AAB52</p> 
      </div> 
      </div> 
     <div class="clientid-hover-state pl-info"> 
      <h4>CO</h4> 
     </div> 

     <div class="client-name-hover"> 
      <h4>Daniel-old Polar-old</h4> 
     </div> 
     <p class="contacting-client">Interview Partially Co..</p> 
    </div> 
    </div> 


    <div class="right-container"> 
     <div class="start-session pull-right"> 
     <a href="javascript:void(0)");" class="login-button"> 
      <i class="fa fa-2x fa-play-circle continue-session"></i> 
     </a>             
     </div> 
    </div> 
</div> 

Я хочу, чтобы найти тег Anchor на основе <h4>AAB52</h4> текста. Я пытался найти то же самое с братьями и сестрами, как следующий xpath

//div[h4[contains(. , "AAB56")]]/following-sibling::div[1] 

(xpath не является правильным, поскольку это является поиск второй один div немедленным из AAB52 текста)

+0

Не должно быть имен классов в XPath, но только текст '' AAB52 "', правильно? – Andersson

ответ

2

following-sibling работает на родительский узел контекста, поэтому сначала нужно подойти к правильному узлу контекста:

//h4[. = 'AAB52']/../../../following-sibling::div[1]/div/a 

в качестве альтернативы вы можете использовать:

//div[./div/div/h4 = 'AAB52']/following-sibling::div[1]/div/a