2014-07-10 6 views
0

J'ai le balisage suivant.Itérer dans une liste?

Edit: Ajout complet balisage

<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> 

Et je suis en train d'utiliser le code suivant pour imprimer chaque liste texte des éléments.

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

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

Mais il vient juste de recevoir une sortie vide. Y a-t-il quelque chose qui me manque?

+2

votre div id creteria ne correspond pas à la réelle – Sanjeev

+0

J'ai oublié d'éditer ce bit dans mon exemple. Correction du code ci-dessus. – Keva161

Répondre

0

Essayez le code suivant:

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

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

Fondamentalement, vous avez manqué à point li élément dans le XPath utilisé. Au-dessus du code devrait fonctionner pour vous.

+0

Il obtient les bons éléments, mais le texte est vide. – Keva161

+0

Pouvez-vous partager le code HTML complet. J'ai créé HTML à partir de cela et appliqué mon code. M'a donné la bonne sortie. –

+0

Plein balisage ajouté au premier message. – Keva161

Questions connexes