2010-06-25 4 views
1

안녕하세요이 HTML 코드를 가지고 :xpath를 사용하여 셀렌에서 텍스트를 검색 하시겠습니까?

<tr class="odd events" style=""> 
<tr> 
    <a title="Expand to see Actions" class="toggleEvent" name="actions_for_host_1" href="#"></a> 
    <td id="7" colspan="6"> 
    <div> 
     <ul> 
     <li>Low Alarm at 2010/06/25 07:09 (<span title="2010/06/25 14:09 (UTC)" class="time_helper">Pacific</span>)</li> 
     </ul> 
     <div></div> 
    </div> 
    </td> 
</tr> 

어떻게 XPath와 셀레늄 루비를 사용하여 <li> 값을 검색 할 수 있습니다, 그래서 다시 "Low Alarm at 2010/06/25 07:09 Pacific"를 얻을?

내가 시간과 날짜가 될 것입니다 무엇인지 모르지만 나는 <li> 태그가 항상 Low Alarm

감사

시작 알고 내가 질문을 잘 표현 할 수 없었다 죄송합니다.

+0

li 앞에 html 구조를 표시 할 수 있습니까? 즉 관심있는 요소의 부모님? – Eimantas

+0

더 많은 HTML이 추가되었습니다 –

답변

4

적절한 로케이터를 사용하여 텍스트를 검색하려면 getText 명령을 사용해야합니다. 당신이 사용할 수있는 몇 가지 가능한 로케이터가 있습니다, 몇 가지 제안은 다음과 같습니다 :

의 XPath :

  • 클래스와 자식 범위에 따라 리를 찾아

    //li[span[@class='time_helper']] 
    
  • time_helper 'Low Alarm'으로 시작하는 텍스트를 기반으로 li을 찾습니다.

    //li[starts-with(text(), 'Low Alarm')] 
    
  • '낮은 알람'

    //li[contains(text(), 'Low Alarm')] 
    
    이 포함 된 텍스트를 기반으로 리튬을 찾아

CSS :

  • '낮은 알람'

    css=li:contains(^Low Alarm) 
    
  • 로 시작하는 텍스트를 기반으로 리를 찾습니다
  • '낮음 알람'이 포함 된 텍스트를 기반으로 위치를 찾습니다

    css=li:contains(Low Alarm) 
    
+0

여기의 트릭은 getText 메소드입니다. http://release.seleniumhq.org/selenium-remote-control/0.9.2/doc/java/com/thoughtworks/selenium/Selenium.html#getText(java.lang.String) – Rodreegez

2

여기에 xpath 로케이터를 특별히 사용하려는 이유가 있습니까? CSS 로케이터가 작업을 수행 할 수도 있습니다 (예 :

css=li:contains('Low Alarm') 
관련 문제