2016-05-02 2 views
2

Моего кодаКак выбрать и получить выпадающее значение в Selenium WebDriver с помощью Java

<select class="form_input_select bx-def-font" name="Sex[0]"> 
    <option value="Male">Man</option>     
    <option value="Female">Woman</option>     
<option value="Other" selected="selected">_Other</option> 
    </select> 

Я использую ниже код ...

Select se=new Select(driver.findElement(By.name("Sex[0]"))); 
se.selectByIndex(0); 
Thread.sleep(2000); 

Курсора двигаться на человеке, но человек не Показать , показывать только _Others

Пожалуйста, помогите мне решить мои проблемы, я применил все больше и больше синтаксис, но, но я не успех, чтобы показать Man ...

ответ

1

вы можете использовать getText(), чтобы получить выделенный текст.

Select se=new Select(driver.findElement(By.name("Sex[0]"))); 
WebElement option = se.getFirstSelectedOption(); 
String gender=option.getText; 

или использовать один из следующих вариантов

se.selectByVisibleText("Man"); 
se.selectByIndex(0); 
se.selectByValue("Male"); 
+0

не работает дорогой .. показать же –

0

Попробуйте использовать: -

se.selectByValue("Male"); 

ИЛИ

se.selectByVisibleText("Man"); 

ИЛИ

Использование javascriptexecutor

+0

я также использовать этот дорогой .. –

0

Привет, прежде чем выбрать любой вариант из раскрывающегося списка, сделайте все опции видимыми в DOM, сделайте это, как показано ниже.

driver.findElement(By.xpath("path to drop down upon click it will show 
the dd with values")).click(); 

Теперь, как только параметры отображаются на странице использовать так, как вы выберите вариант формирования DD

Select se=new Select(driver.findElement(By.name("Sex[0]"))); 
se.selectByIndex(0); 
Thread.sleep(2000); 
+0

Я также использовать дорогой .. –

0

driver.findElement (By.name ("Секс [0]")). SendKeys ("Человек");

Наконец я нашел решение Спасибо всем ...

+0

используя 'sendKeys' в выпадающем списке не является элегантным slolution. – gihan

0

Чтобы выбрать любой вариант из выпадающего списка, мы должны нажать на выпадающий элемент и выберите нужный вариант. Пожалуйста, найдите код, приведенную ниже примера:

WebElement gender = driver.findElement(By.name("Sex[0]")); 
gender.click(); 
Select selectGender = new Select(gender); 
selectGender.selectByValue("Male"); 
// or 
// you can use any of below functions of Select class 
selectGender.selectByIndex(0); 
// or 
selectGender.selectByVisibleText("Male"); 

Надеется, что это помогает

0

Вы можете использовать приведенные ниже код для выбора значений из списка.

Мы создали анонимную ошибку для Select.

new Select(driver.findElement(By.id("mainOrderForm:orderType"))).selectByVisibleText("Factory Order"); 

         OR 

new Select(driver.findElement(By.id("mainOrderForm:orderType"))).selectByIndex(Index_No.); 

         OR 

new Select(driver.findElement(By.id("mainOrderForm:orderType"))).selectByValue("Value");