Comment obtenir l'option sélectionnée en utilisant Selenium WebDriver avec Java

Je suis novice en Sélénium et je suis coincé ici :

Je veux obtenir l'étiquette sélectionnée ou la valeur de déroulant utilisation de Selenium WebDriver, puis print sur console .

Je suis capable de sélectionner n'importe quelle valeur dans la liste déroulante mais je ne suis pas capable de récupérer la valeur sélectionnée et de l'imprimer.

Select select = new 
Select(driver.findElement(By.id("MyDropDown"))).selectByVisibleText(data[11].substring(1 , data[11].length()-1));
WebElement option = select.getFirstSelectedOption();

Mais tous mes efforts vont en vain Toute aide serait appréciée . Merci d'avance :)

25
demandé sur Ripon Al Wasim 2012-08-13 17:13:18

5 réponses

Vous devriez pouvoir obtenir le texte en utilisant getText() (pour l'élément d'option que vous avez utilisé getFirstSelectedOption()):

Select select = new Select(driver.findElement(By.xpath("//select")));
WebElement option = select.getFirstSelectedOption();
String defaultItem = option.getText();
System.out.println(defaultItem );
47
répondu Justin Ko 2018-01-09 07:28:56

Compléter la réponse:

String selectedOption = new Select(driver.findElement(By.xpath("Type the xpath of the drop-down element"))).getFirstSelectedOption().getText();

Assert.assertEquals("Please select any option...", selectedOption);
16
répondu Bhuvan 2012-10-11 04:09:50

Dans Selenium Python c'est:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support.ui import Select

def get_selected_value_from_drop_down(self):
    try:
        select = Select(WebDriverWait(self.driver, 20).until(EC.element_to_be_clickable((By.ID, 'data_configuration_edit_data_object_tab_details_lb_use_for_match'))))
        return select.first_selected_option.get_attribute("value")
    except NoSuchElementException, e:
        print "Element not found "
        print e
3
répondu Riaz Ladhani 2016-04-07 11:24:01

Sur l'option suivante:

WebElement option = select.getFirstSelectedOption();
option.getText();

Si à partir de la méthode getText() vous obtenez un vide, vous pouvez obtenir la chaîne de la valeur de l'option en utilisant la méthode getAttribute:

WebElement option = select.getFirstSelectedOption();
option.getAttribute("value");
2
répondu Miguel 2017-10-30 13:30:25
var option = driver.FindElement(By.Id("employmentType"));
        var selectElement = new SelectElement(option);
        Task.Delay(3000).Wait();
        selectElement.SelectByIndex(2);
        Console.Read();
0
répondu Madhu Ragi 2016-12-08 09:37:20