2012-12-24 1 views
0

S'il vous plaît aidez-moi à lire toute la liste des valeurs présentes dans mon objectif chute de type vers le bas présent dans l'application Salesforce:Comment lire toute la liste des valeurs présentes dans le menu déroulant à l'aide de selenium webdriver java?

HTML:

<select id="00N20000002gQI3" name="00N20000002gQI3" tabindex="3"> 
    <option value="">--None--</option> 
    <option value="Asset Finance">Asset Finance</option> 
    <option value="Barcap">Barcap</option> 
    <option value="Barclaycard">Barclaycard</option> 
    <option value="Barclays Wealth">Barclays Wealth</option> 
    <option value="BGI">BGI</option> 
    <option value="Cash Management">Cash Management</option> 
    <option value="DCM">DCM</option> 
    <option value="Debt">Debt</option> 
    <option value="Deposit">Deposit</option> 
    <option value="ECM">ECM</option> 
    <option value="ESHLA">ESHLA</option> 
    <option value="Financial Need Assessment">Financial Need Assessment</option> 
    <option value="FX">FX</option> 
    <option value="Generic">Generic</option> 
    <option value="Individual Relationship">Individual Relationship</option> 
    <option value="M&amp;A">M&amp;A</option> 
    <option value="Managing Impairment">Managing Impairment</option> 
    <option value="Managing RWAs">Managing RWAs</option> 
    <option value="Marketing">Marketing</option> 
    <option value="Overall Relationship">Overall Relationship</option> 
    <option value="RSG">RSG</option> 
    <option value="Sales Finance">Sales Finance</option> 
    <option value="Trade">Trade</option> 
</select> 

S'il vous plaît laissez-moi savoir comment puis-je lire toutes les valeurs présentes dans la liste déroulante ... Si vous pouvez partager le code qui sera d'une grande aide.

Répondre

0

si vous utilisez ce, il retourne un tableau de toutes les options éléments:

element_array = driver.findElement(By.xpath("//select[@id='00N20000002gQI3']/option")) 

Vous pouvez simplement extraire le texte de chaque élément de ce tableau. Il n'y a pas besoin de cliquer sur les éléments.

element_array[1].text 
element_array[2].text 

etc

+0

Merci Nora .. il a travaillé. Je devais réitérer pour montrer la valeur. Parce que par défaut, il montre la première valeur .. – user1834699

+0

vous pouvez utiliser "// select [@ id = '00N20000002gQI3']/option [1]" "// sélectionner [@ id = '00N20000002gQI3']/option [2]" , etc – Nora

1

Vous pouvez utiliser la fonction getOptions de la classe Select. boucle dans la liste des WebElements reçus et gettext pour obtenir le options..something visible comme

Select sel = new Select(driver.findElement("yourlocator"); 
List of WebElements lst = sel.getOptions(); 
//iterate list with getText 
2

est une méthode Ici, je l'ai utilisé avant pour sélectionner une option en valeur:

public static void selectInDropdownByValue(WebElement we, String val) { 
    Select dropDown = new Select(we);   
    List<WebElement> theseOptions = dropDown.getOptions(); 
    for(WebElement option:theseOptions){ 
     if(option.getAttribute("value").equals(val)){ 
      option.click(); 
     } 
    } 
} 

Parfois , avec certains menus, cela ne suffira pas. Dans ce cas, vous devez utiliser une "action" WebDriver pour déplacer physiquement la souris et cliquer sur le bouton de la souris.

Questions connexes