2014-10-07 42 views
-1

我想從http://www.makemytrip.com/flights/的「From」下拉列表中提取值,然後將其與特定搜索字符串進行比較,以查找該字符串是否存在於從下拉的值。但是我無法提取這些字段被隱藏的值。這是一個自動完成的下拉菜單。如何使用selenium webdriver(java)中的xpath從隱藏表中提取值

下降的HTML部分向下

<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 

> ......

我想:

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,那麼我認爲它應該如下:

//div/div/div/div[2]/ul[2]/li[2]/a 
相關問題