Je suis novice dans le sélénium et je suis coincé ici:
Je veux obtenir l'étiquette sélectionnée ou la valeur d'un déroulant à l'aide de Selenium WebDriver, puis imprimer le sur console .
Je suis en mesure de sélectionner n'importe quelle valeur dans la liste déroulante, mais je ne parviens pas à récupérer la valeur sélectionnée et à 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 seront vains .__ Toute aide serait la bienvenue. Merci d'avance :)
Vous devriez pouvoir obtenir le texte en utilisant getText()
(pour l’élément option que vous avez obtenu en utilisant getFirstSelectedOption()
):
Select select = new Select(driver.findElement(By.xpath("//select")));
WebElement option = select.getFirstSelectedOption();
String defaultItem = option.getText();
System.out.println(defaultItem );
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);
En 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
Sur l'option suivante:
WebElement option = select.getFirstSelectedOption();
option.getText();
Si vous obtenez un blanc de la méthode getText()
, 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");
var option = driver.FindElement(By.Id("employmentType"));
var selectElement = new SelectElement(option);
Task.Delay(3000).Wait();
selectElement.SelectByIndex(2);
Console.Read();