Подтвердить что ты не робот

Как выбрать элемент из выпадающего списка с помощью Selenium WebDriver с java?

Как выбрать элемент из выпадающего списка, например, пола (например, мужчины, женщины), используя Selenium WebDriver с Java?

Я пробовал это

WebElement select = driver.findElement(By.id("gender"));
List<WebElement> options = select.findElements(By.tagName("Male"));
for (WebElement option : options) {
    if("Germany".equals(option.getText()))
        option.click();   
}

Мой выше код не работает.

4b9b3361

Ответ 1

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

new Select(driver.findElement(By.id("gender"))).selectByVisibleText("Germany");

Конечно, вам нужно import org.openqa.selenium.support.ui.Select;

Ответ 2

Просто оберните свой WebElement в Select Object, как показано ниже.

Select dropdown = new Select(driver.findElement(By.id("identifier")));

Как только это будет сделано, вы можете выбрать требуемое значение тремя способами. Рассмотрим HTML файл, подобный этому

<html>
<body>
<select id = "designation">
<option value = "MD">MD</option>
<option value = "prog"> Programmer </option>
<option value = "CEO"> CEO </option>
</option>
</select>
<body>
</html>

Теперь для определения раскрывающегося списка

Select dropdown = new Select(driver.findElement(By.id("designation")));

Чтобы выбрать свой вариант, скажите "Программист", вы можете сделать

dropdown.selectByVisibleText("Programmer ");

или

 dropdown.selectByIndex(1);

или

 dropdown.selectByValue("prog");

Счастливое кодирование:)

Ответ 3

Тег, который вы должны упомянуть как "опция", если текст с пространством мы можем использовать этот метод, он должен работать.

WebElement select = driver.findElement(By.id("gender"));
List<WebElement> options = select.findElements(By.tagName("option"));

for (WebElement option : options) {

if("Germany".equals(option.getText().trim()))

 option.click();   
}

Ответ 4

Google "select item selenium webdriver" вызывает Как установить параметр, выбранный с помощью клиента Selenium WebDriver (selenium 2.0) в ruby ​​ в качестве первого результата. Это не Java, но вы должны иметь возможность переводить его без особых усилий. https://sqa.stackexchange.com/questions/1355/what-is-the-correct-way-to-select-an-option-using-seleniums-python-webdriver входит в пятерку лучших, опять же не Java, но API очень похож.

Ответ 5

 WebElement selectgender = driver.findElement(By.id("gender"));
 selectgender.sendKeys("Male");

Ответ 6

Вы можете использовать класс селея WebDriver класса "Select", опубликованный Майтрейей. Извините, но я немного смущен, потому что для выбора пола из раскрывающегося списка почему сравнивать строку с "Германией". Вот фрагмент кода,

Select gender = new Select(driver.findElement(By.id("gender")));
gender.selectByVisibleText("Male/Female");

Импортируйте import org.openqa.selenium.support.ui.Select; после добавления вышеуказанного кода. Теперь будет выбран пол, который вы когда-либо давали (мужчина/женщина).

Ответ 7

WebElement select = driver.findElement(By.id("gender"));
List<WebElement> options = select.findElements(By.tagName("option"));
for (WebElement option : options) {
   if("Germany".equals(option.getText()))
       option.click();   
}

Ответ 8

Чтобы найти этот выпадающий элемент

Select gender = new Select(driver.findElement(By.id("gender")));

Чтобы получить список всех элементов в раскрывающемся списке

for(int j=1;j<3;j++)
    System.out.println(gender.getOptions().get(j).getText());

Чтобы выбрать его через видимый текст optoion

gender.selectByVisibleText("Male");

Чтобы выбрать его по индексу

gender.selectByIndex(1);

Ответ 9

public class checkBoxSel {

    public static void main(String[] args) {

         WebDriver driver = new FirefoxDriver();
         EventFiringWebDriver dr = null ;


         dr = new EventFiringWebDriver(driver);
         dr.get("http://www.google.co.in/");

         dr.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

         dr.findElement(By.linkText("Gmail")).click() ;

         Select sel = new Select(driver.findElement(By.tagName("select")));
         sel.selectByValue("fil");

    }

}

Я использую GOOGLE LOGIN PAGE для проверки опции seletion. Приведенный выше пример заключался в том, чтобы найти и выбрать язык "Filipino" из выпадающего списка. Я уверен, что это решит проблему.