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

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

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

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

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

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

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

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

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

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

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

      

Теперь, чтобы определить выпадающее меню

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

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

 dropdown.selectByVisibleText("Programmer "); 

или

 dropdown.selectByIndex(1); 

или

 dropdown.selectByValue("prog"); 

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

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

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

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

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

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

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 очень похож.

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

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

 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); 
 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» из выпадающего списка. Я уверен, что это решит проблему.

  • Selenium WebDriver - ошибка FirefoxDriver: не удалось запустить сокет в 45000
  • Уточнение причины смешивания Неявные и явные ожидания документа Selenium
  • Как выбрать параметр из раскрывающегося списка с помощью Selenium WebDriver C #?
  • Selenium Webdriver - нажмите на скрытые элементы
  • Selenium c # Webdriver: Подождите, пока не появится элемент
  • Selenium WebDriver: нажатие на элементы в SVG с использованием XPath
  • Как перейти к новому окну браузера, который открывается после нажатия кнопки?
  • WebDriver - дождитесь использования элемента с помощью Java
  • Webdriver: загрузка файла
  • Обновление веб-страницы по WebDriver при ожидании определенного состояния
  • Имя пользователя и пароль аутентификации Windows Python не работает
  • Давайте будем гением компьютера.