2014-07-10 40 views
0

我有以下标记。迭代列表?

编辑:加满标记

<div id="SelectList"> 
    <div class="select-area-left"></div> 
    <div class="select-area-right"></div> 
    <div id="SelectedOption">Option0</div> 
    <ul id="ShowOptions"> 
    <li id="ShowOption0">Option0</li> 
    <li id="ShowOption1">Option1</li> 
    <li id="ShowOption2">Option2</li> 
    <li id="ShowOption3">Option3</li> 
    <li id="ShowOption4">Option4</li> 
    <li id="ShowOption5">Option5</li> 
    <li id="ShowOption6">Option6</li> 
    <li id="ShowOption7">Option7</li> 
    <li id="ShowOption8">Option8</li> 
    <li id="ShowOption9">Option9</li> 
    <li id="ShowOption10">Option10</li> 
    <li id="ShowOption11">Option11</li> 
    <li id="ShowOption12">Option12</li></ul></div> 

而且我尝试使用下面的代码打印出每个列表元素的文本。

List<WebElement> allElements = driver.findElements(By.xpath("//div[@id='SelectList']/ul")); 

      for (WebElement element: allElements) { 
        System.out.println(element.getText()); 
      } 

但它只是给出了一个空白输出。有什么我失踪?

+2

你的div id creteria与实际不匹配 – Sanjeev

+0

忘记编辑我的例子中的那一点。修正了上面的代码。 – Keva161

回答

0

尝试下面的代码:

List<WebElement> allElements = driver.findElements(By.xpath("//div[@id='SelectList']/ul/li")); 

for (WebElement element: allElements) { 
    System.out.println(element.getText()); 
} 

基本上你错过了使用的XPath指向元素。上面的代码应该适合你。

+0

它获得正确的元素,但文本是空白的。 – Keva161

+0

你能分享完整的html吗?我从中创建了HTML并应用了我的代码。给我正确的输出。 –

+0

完整标记添加到第一篇文章。 – Keva161