Мне нужно выбрать элемент из выпадающего меню.
Например:
<select id="fruits01" class="select" name="fruits">
<option value="0">Choose your fruits:</option>
<option value="1">Banana</option>
<option value="2">Mango</option>
</select>
1) Сначала я должен нажать на него. Я сделаю это:
inputElementFruits = driver.find_element_by_xpath("//select[id='fruits']").click()
2) После этого я должен выбрать хороший элемент, скажем так Mango
.
Я пытался сделать это с, inputElementFruits.send_keys(...)
но это не сработало.
python
selenium
selenium-webdriver
web-scraping
webdriver
Адам Бовьен
источник
источник
Select
классов значительно облегчает решение проблемы, см. Ответ, который я опубликовал.find_by_id
? Как мне поставить значение тогда? Кроме того, как мне найтиxpath
элемент?Selenium предоставляет удобный
Select
класс для работы сselect -> option
конструкциями:Смотрите также:
источник
сначала вам нужно импортировать класс Select, а затем вам нужно создать экземпляр класса Select. После создания экземпляра класса Select вы можете выполнить методы выбора для этого экземпляра, чтобы выбрать параметры из раскрывающегося списка. Вот код
источник
Я надеюсь, что этот код поможет вам.
выпадающий элемент с идентификатором
выпадающий элемент с xpath
выпадающий элемент с селектором CSS
Выбор «Банан» из выпадающего
ddelement.select_by_index(1)
ddelement.select_by_value('1')
ddelement.select_by_visible_text('Banana')
источник
Я перепробовал много вещей, но мой выпадающий список был внутри таблицы, и я не смог выполнить простую операцию выбора. Работало только приведенное ниже решение. Здесь я выделяю выпадающий элемент и нажимаю стрелку вниз до получения желаемого значения -
источник
Вам не нужно ничего нажимать. Используйте поиск по xpath или как хотите, а затем используйте ключи отправки
Для вашего примера: HTML:
Python:
Вот и все.
источник
Вы можете использовать комбинацию селектора CSS хорошо
Измените 1 в селекторе attribute = value css на значение, соответствующее желаемому фрукту.
источник
Будет работать нормально
источник
Работает со значением параметра:
источник
Таким образом, вы можете выбрать все варианты в любом раскрывающемся списке.
источник
for items in range(1,input1): inputs.select_by_index(items)
, но это начинается со второго индекса. Как я могу получить первое значение?Согласно предоставленному HTML:
Чтобы выбрать
<option>
элемент изHTML-выбратьВ меню вы должны использовать Select Class . Более того, так как вы должны взаимодействовать свыпадающее менюВы должны вызвать WebDriverWait дляelement_to_be_clickable()
.Чтобы выбрать
<option>
текст с манго изпадатьвы можете использовать вы можете использовать любую из следующих стратегий локатора :Используя ID атрибут и
select_by_visible_text()
метод:Используя CSS-SELECTOR и
select_by_value()
метод:Используя XPATH и
select_by_index()
метод:источник
Лучший способ использовать
selenium.webdriver.support.ui.Select
класс для работы с выпадающим списком, но иногда он не работает должным образом из-за проблем проектирования или других проблем HTML.В этом типе ситуации вы также можете выбрать альтернативное решение, используя
execute_script()
как показано ниже:источник
открытый класс ListBoxMultiple {
}
источник