Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Выберите элемент из раскрывающегося списка по видимому тексту с помощью исполнителя javascript

Автор вопроса: Davide MelisОтветов: 2

Я использую селен с Tor и хочу выбрать элемент из выпадающего списка по видимому тексту или по части текста. Класс Select не работает из-за ошибки в firefox

Итак, это мой код:

Select dropdown = new Select(driver.findElement(By.id("serverLogin"))); //Selects my dropdown
dropdown.selectByVisibleText(server);   //Selects the server

Как я могу сделать это с помощью исполнителя javascript?

  • Является ли сервер ценностью? Если да, то оно должно быть в двойных кавычках. Kapil 03.09.2017
  • server представляет собой переменный строковый тип. общедоступный сервер String = blablabla; Davide Melis 03.09.2017
  • какую ошибку вы получаете? Kapil 03.09.2017
  • Он не выбирает ни один элемент. stackoverflow.com/a/39046884/8142148 вот почему Davide Melis 03.09.2017
  • Вы проверили 2-й комментарий в ссылке, которую вы предоставили? Kapil 03.09.2017
  • Да, но я не понимаю c#, я программирую на Java Davide Melis 03.09.2017

javajavascriptdropdownselenium

Ответы

Ответ 1 · Kapil

Давайте попробуем с приведенным ниже кодом и посмотрим, работает ли он.

WebElement dropDownListBox = driver.findElement(By.id("serverLogin"));
((JavascriptExecutor)driver).executeScript("var select = arguments[0]; for(var i = 0; i < select.options.length; i++){ if(select.options[i].text == arguments[1]){ select.options[i].selected = true; } }", dropDownListBox, "blablabla");

Ответ 2 · Davide Melis

Я решил создать раскрывающийся список WebElement и отправить ему первую букву, чтобы выбрать мой вариант, а затем отправить клавишу Enter. Вот код:

WebElement dropdown = driver.findElement(By.id("serverLogin"));
        dropdown.sendKeys(server);
        dropdown.sendKeys(Keys.ENTER);

Спасибо, в любом случае.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы