2014-10-07 4 views
-1

"From"드롭 다운에서 http://www.makemytrip.com/flights/의 값을 추출한 다음 특정 검색 문자열과 비교하여 문자열이 있는지 찾아야합니다. 드롭 다운 값. 그러나 이러한 필드가 숨겨져 있으므로 값을 추출 할 수 없습니다. 자동 완성 드롭 다운입니다.셀레늄 webdriver에서 xpath를 사용하여 숨겨진 테이블에서 값을 추출하는 방법 (Java)

아래

<div class="container"> 
<div class="search_selector" style="display: none;"> 
<div class="col-xs-12"> 
<div class="city_sel_top"> 
<div class="top_cities_scroll" style="margin-top: -5px;"> 
    <ul id="near_button" class="top_cities_list" style="width: 98%;"> 
    <ul class="from_city_list top_cities_list" style="width: 98%; display: none;"> 
     <li class="top_cities_heading text-right">Top Domestic Cities</li> 
     <li id="DEL|Y|New Delhi|India"> 
      <a class="from_city_value1" href="javascript:void(0);">New Delhi, India (DEL)</a> 
        </li> 
     <li id="DEL|Y|New Delhi|India"> 
      <a class="from_city_value1" href="javascript:void(0);">New Delhi, India (DEL)</a> 
       </li> 
     <li id="BOM|Y|Mumbai|India"> 
      <a class="from_city_value2" href="javascript:void(0);">Mumbai, India (BOM)</a> 
        </li> 
     <li id="BLR|Y|Bangalore|India"> 
      <a class="from_city_value3" href="javascript:void(0);">Bangalore, India (BLR)</a> 
       </li 

> 드롭의 HTML 부분 ......

나는 시도 :

WebDriver driver; 
    List<WebElement> li = driver.findElements(By.xpath("//div/div[2]/ul[2]/li/a")); 

이 나에게로 이러한 요소 예외를 제공합니다 ul [2] 아래의 첫 번째 li 요소에는 그 아래에 'a'요소가 없습니다. 나는 두 번째 li 요소에서 시작하여 'a'요소를 얻고 싶습니다.

답변

1

XPath가 너무 엄격합니다. By.tagName("a")을 사용하십시오.

0

첫 번째 항목의 'a'만 원하면 SiKing의 솔루션이 가장 적합하다고 생각합니다. 하지만 xpath를 사용해야하므로 다음과 같아야합니다.

관련 문제