2017-09-13 19 views
-2

HTML代码如何提取使用具有硒多类列表值在Java

<div id=""> 
    <div class="widthFull floatLEFT"> 
    <div class="class-left-first"> 
     <div class="txt-left"> 
     <ul class="FuelBullet bulletedArrow"> 
      <li><a href=""></a></li> 
      <li><a href=""></a></li> 
      <li><a href=""></a></li> 
      <li><a href=""></a></li> 
     </ul> 
    </div> 
    </div> 
    <div class="class-left"> 
    <div class="txt-left"> 
     <ul class="FuelBullet bulletedArrow"> 
     <li><a href=""></a></li> 
     <li><a href=""></a></li> 
     </ul> 
    </div> 
    </div> 
    <div class="class-left"> 
    <div class="txt-left"> 
     <ul class="FuelBullet bulletedArrow"> 
     <li><a href=""></a></li> 
     </ul> 
    </div> 
    </div> 
    </div> 
    <div class="widthFull floatLEFT"> 
    ....same as above ... 
    </div> 
    <div class="widthFull floatLEFT"> 
    ....same as above ... 
    </div> 
</div> 

我试过代码。

WebElement ele= driver.findElement(By.id("CPH1_DisplayAllSupportedCities_PanelAllCities")); 
List<WebElement> ele1=ele.findElements(By.className("widthFull floatLEFT")); 

for(WebElement Element : ele1){ 
      List<WebElement> ele2=Element.findElements(By.className("txt-left")); 
     for(WebElement txt : ele2){ 
       List<WebElement> ele3=txt.findElements(By.className("FuelBullet bulletedArrow")); 
      for(WebElement list : ele3){ 
       List<WebElement> e1=list.findElements(By.tagName("li")); 
        for(WebElement link : e1){ 
        System.out.println(link.getAttribute("href")); 
        } 
       } 
      } 

我必须从上面的示例中提取href值的列表。我已经尝试了上面的代码,但它没有为我工作。

请帮忙.. !!!

+0

你可以分享你在这里访问的元素的截图或html。 – nullpointer

+0

是的,我也链接我的html内容和上面的代码 – elakiya

+0

只需将所有的值添加到'清单 hrefValues'而不是你在做什么'System.out.println(link.getAttribute(“href”)); ' – nullpointer

回答

-1

这里的问题是,By.className一次只接受一个类名。我们不能使用By.className(“widthFull floatLEFT”)。 我们可以使用一个类名称,如By.className("widthFull")By.className("floatLEFT")

如果你想同时使用两个类名,那么你可以使用其他类型的定位器,如下面给出的CSS选择器或xpath。

WebElement ele= driver.findElement(By.id("CPH1_DisplayAllSupportedCities_PanelAllCities")); 
List<WebElement> ele1=ele.findElements(By.cssSelector(".widthFull.floatLEFT")); 

for(WebElement Element : ele1){ 
     List<WebElement> ele2=Element.findElements(By.className("txt-left")); 
     for(WebElement txt : ele2){ 
      List<WebElement> ele3=txt.findElements(By.cssSelector(".FuelBullet.bulletedArrow")); 
      for(WebElement list : ele3){ 
       List<WebElement> e1=list.findElements(By.tagName("li")); 
       for(WebElement link : e1){ 
        System.out.println(link.getAttribute("href")); 
       } 
      } 
     } 
    } 
相关问题