it-roy-ru.com

Как получить выбранный вариант, используя Selenium WebDriver с Java

Я новичок в Selenium, и я застрял здесь: 

Я хочу получить выбранную метку или значение раскрывающегося списка с помощью Selenium WebDriver, а затем напечатать it на console .

Я могу выбрать любое значение из выпадающего списка, но я не могу получить выбранное значение и распечатать его. 

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

Но все мои усилия идут напрасно. Любая помощь будет принята с благодарностью. Заранее спасибо :) 

26
Aditi

Вы должны быть в состоянии получить текст, используя getText() (для элемента option, который вы получили, используя getFirstSelectedOption()):

Select select = new Select(driver.findElement(By.xpath("//select")));
WebElement option = select.getFirstSelectedOption();
String defaultItem = option.getText();
System.out.println(defaultItem );
50
Justin Ko

Завершение ответа:

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);
18
Bhuvan

В Selenium Python это:

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

На следующий вариант:

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

Если из метода getText() вы получите пустое значение, вы можете получить строку из значения опции, используя метод getAttribute:

WebElement option = select.getFirstSelectedOption();
option.getAttribute("value");
2
Miguel
var option = driver.FindElement(By.Id("employmentType"));
        var selectElement = new SelectElement(option);
        Task.Delay(3000).Wait();
        selectElement.SelectByIndex(2);
        Console.Read();
0
Madhu Ragi