0 / 0 / 0
Регистрация: 18.01.2022
Сообщений: 20

Selenium Python - выбор пустого элемента из выпадающего списка

18.01.2022, 19:41. Показов 5587. Ответов 20

Студворк — интернет-сервис помощи студентам
Доброго времени суток!
Вот уже второй день не могу разобраться с выпадающим списком...
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<thead>
<tr><th data-col-seq="0">Ф.И.О.</th><th data-col-seq="1">One</th><th data-col-seq="2">Two</th><th data-col-seq="3">Three</th><th data-col-seq="4">Four</th><th class="text-right hidden" title="Скорбалл" data-col-seq="6">Equifax</th><th class="text-right" title="Скорбалл" data-col-seq="7"><a href="/manager/pre-request/index?scoringTest=&amp;scoringTestModel=&amp;trafficSource=& amp;scoringTypeMiddle=0&amp;review=0&amp;fullName=&amp;decis ion=&amp;uqExist=&amp;created_at=&amp;trafficSourceType=lead s&amp;sort=nbki_score" data-sort="nbki_score">НБКИ</a></th><th data-col-seq="8">Выдача</th><th data-col-seq="9">Комментарий</th><th data-col-seq="10">Проверено</th><th data-col-seq="11"><a class="desc" href="/manager/pre-request/index?scoringTest=&amp;scoringTestModel=&amp;trafficSource=& amp;scoringTypeMiddle=0&amp;review=0&amp;fullName=&amp;decis ion=&amp;uqExist=&amp;created_at=&amp;trafficSourceType=lead s&amp;sort=created_at" data-sort="created_at">Создано</a></th></tr><tr id="pre-decision-grid-filters" class="filters skip-export"><td><input type="text" class="form-control" name="fullName" value=""></td><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td><td><div class="kv-plugin-loading loading-decision">&nbsp;</div><select id="decision" class="form-control" name="decision" data-s2-options="s2options_d6851687" data-krajee-select2="select2_65f3512a" style="display:none">
<option value="" selected> </option>
<option value="0">One</option>
<option value="1:0:0">Two</option>
<option value="2:0:0">Three</option>
<option value="3">Four</option>
<option value="4">Five</option>
<option value="1::1">Six</option>
<option value="2:1:0">Seven</option>
<option value="1:1:0">Eight</option>
<option value="manual">nine</option>
</select></td><td class="hidden" placeholder="">&nbsp;</td><td>&nbsp;</td><td><div class="kv-plugin-loading loading-uqexist">&nbsp;</div><select id="uqexist" class="form-control" name="uqExist" data-s2-options="s2options_d6851687" data-krajee-select2="select2_65f3512a" style="display:none">
<option value="" selected></option>
<option value="1">Да</option>
<option value="0">Нет</option>
</select></td><td>&nbsp;</td><td>&nbsp;</td><td><div id="w2-kvdate" class="input-group date"><input type="text" id="w2" class="form-control krajee-datepicker" name="created_at" data-datepicker-source="w2-kvdate" data-datepicker-type="3" data-krajee-kvDatepicker="kvDatepicker_316114c2"><span class="input-group-addon kv-date-calendar" title="Выбрать дату"><i class="fa fa-calendar text-danger"></i></span></div><input type="hidden" id="w2-saved-value" class="form-control krajee-datepicker" name="created_at" value="" data-datepicker-source="w2-kvdate" data-datepicker-type="3" data-krajee-kvDatepicker="kvDatepicker_316114c2"></td></tr>
</thead>
Необходимо выбрать элемент который не имеет значения value =""
Если в другом списке, со значениями, проблема одна, находит только по полному XPATH
(select1 = Select(driver.find_element(By.XPATH, '/html/body/div[1]/div[1]/div[2]/div/div[2]/div/form/div[6]/div[1]/div/div/select')).select_by_value('Алтайский край'))
То с этим вообще разобраться не могу (( не получается даже кликнуть по нему...
Прошу совета, помощи, наставления...
Заранее очень благодарен
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.01.2022, 19:41
Ответы с готовыми решениями:

Selenium - выбор элемента из выпадающего списка
Здравствуйте! С помощью selenium пытаюсь на сайте выбрать элемент из выпадающего списка (см. id=&quot;DepartureLocations&quot;). ...

Selenium выбор пункта меню из выпадающего списка
Добрый день, просьба помочь в решении задачи для Selenium нужно выбрать пункт меню в поле Paste Expiration на сайте public class...

Выбор элемента из выпадающего списка
Вот такой код списка&lt;span autocomplete=&quot;off&quot; data-nb-direction=&quot;bottom&quot; data-nb=&quot;select&quot; tabindex=&quot;0&quot; class=&quot;nb-button _nb-normal-button...

20
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
18.01.2022, 20:10
Цитата Сообщение от nik_ses Посмотреть сообщение
/html/body/div[1]/div[1]/div[2]/div/div[2]/div/form/div[6]/div[1]/div/div/select
так локаторы не пишут

Цитата Сообщение от nik_ses Посмотреть сообщение
Прошу совета, помощи, наставления...
давай сайт, где там эта выпадашка
0
0 / 0 / 0
Регистрация: 18.01.2022
Сообщений: 20
18.01.2022, 22:00  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
так локаторы не пишут
Это Full XPATH. На самом деле знаний и практики почти нет (( но до элементов на странице кроме как по Full XPATH достучаться не могу ((

Цитата Сообщение от Welemir1 Посмотреть сообщение
давай сайт, где там эта выпадашка
Это внутренний ресурс для тестирования, в интернете он не болтается. Могу скопировать всю страницу
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
19.01.2022, 11:34
Цитата Сообщение от nik_ses Посмотреть сообщение
Это Full XPATH
это ужас. Ознакомься

ну как вариант выложи страницу файлом.
0
0 / 0 / 0
Регистрация: 18.01.2022
Сообщений: 20
19.01.2022, 12:27  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
это ужас. Ознакомься
Спасибо! Сейчас ознакомлюсь )

Цитата Сообщение от Welemir1 Посмотреть сообщение
ну как вариант выложи страницу файлом.
Вложения
Тип файла: 7z Предварительное решение.7z (27.4 Кб, 6 просмотров)
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
19.01.2022, 14:22
nik_ses, ну так конкретику то дай - надо выбрать пустой значение в селекте Лиды?
0
0 / 0 / 0
Регистрация: 18.01.2022
Сообщений: 20
19.01.2022, 14:29  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
nik_ses, ну так конкретику то дай - надо выбрать пустой значение в селекте Лиды?
В списке id="decision" необходимо выбрать пустое значение, которое стоит перед value="0"
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
19.01.2022, 14:38
Python
1
2
3
4
5
6
7
>>> from selenium import webdriver
>>> d= webdriver.Chrome()
>>> from selenium.webdriver.support.ui import Select
>>> sel = Select(d.find_element_by_id('trafficsource'))
>>> sel.select_by_index(0)
>>> sel.select_by_index(1)
>>> sel.select_by_index(0)
видно как меняется значение, первое пустое

Добавлено через 5 минут
Цитата Сообщение от nik_ses Посмотреть сообщение
В списке id="decision" необходимо выбрать пустое значение, которое стоит перед value="0"
это селект у меня скрыт, оперировать им нельзя, видимо надо что то сделать чтобы он был. Но пример выше у тебя уже есть
1
0 / 0 / 0
Регистрация: 18.01.2022
Сообщений: 20
19.01.2022, 16:38  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
Но пример выше у тебя уже есть
Спасибо, огромное! сейчас буду пробовать
0
0 / 0 / 0
Регистрация: 18.01.2022
Сообщений: 20
19.01.2022, 16:53  [ТС]
Но к сожалению не работает ((
По ID не находит, а с Full XPATH не выбирает ((
Миниатюры
Selenium Python - выбор пустого элемента из выпадающего списка  
0
0 / 0 / 0
Регистрация: 18.01.2022
Сообщений: 20
19.01.2022, 17:06  [ТС]
Welemir1, может нужна не только html? но и остальные файлы
Вложения
Тип файла: 7z _MAX.7z (251.3 Кб, 4 просмотров)
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
19.01.2022, 17:41
Лучший ответ Сообщение было отмечено nik_ses как решение

Решение

nik_ses, хпат у тебя не верен, сказал же, а твой селект точно должен быть видим и активен?

Добавлено через 11 минут
попробуй не через селект решить а сам кликни по стрелке и выбери элемент
Python
1
d.find_element_by_css_selector('.select2-selection__arrow').click()
0
0 / 0 / 0
Регистрация: 18.01.2022
Сообщений: 20
20.01.2022, 07:42  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
d.find_element_by_css_selector('.select2-selection__arrow').click()
кликает! Спасибо!

Добавлено через 27 минут
Осталось дело за малым... выбрать пустой элемент...
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
20.01.2022, 09:50
Цитата Сообщение от nik_ses Посмотреть сообщение
выбрать пустой элемент...
все просто - он первый
0
0 / 0 / 0
Регистрация: 18.01.2022
Сообщений: 20
20.01.2022, 13:05  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
все просто - он первый
Оказалось не все так просто... Список раскрывается, но выбрать ничего не получается...
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
20.01.2022, 17:29
Лучший ответ Сообщение было отмечено nik_ses как решение

Решение

nik_ses, бутылку Джек Дениелс №7 если кликну в этом списке выпадающем?)))

не забуду если то вечером посмотрю

Добавлено через 2 часа 16 минут
Python
1
2
>>> d.find_element_by_css_selector('.select2-selection__arrow').click()
>>> d.find_elements_by_xpath('//li[contains(@class,"select2-results__option")]')[0].click()
оперируя этими индексами списка оптионсов можно нажать что угодно. Ну или добавить текст в локатор
0
0 / 0 / 0
Регистрация: 18.01.2022
Сообщений: 20
21.01.2022, 12:21  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
бутылку Джек Дениелс №7 если кликну в этом списке выпадающем?)))
Я кабы не спорил )) утверждение бло про то, что я не могу кликнуть ))
Джека в Пермь отправлять?))) Но только с зарплаты )))
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
21.01.2022, 12:58
nik_ses, да в Пермь, мы тут оприходуем. Сейчас то не высылай, по твоим темам на ящик накопим и тогда сразу.
0
0 / 0 / 0
Регистрация: 18.01.2022
Сообщений: 20
21.01.2022, 18:08  [ТС]
Welemir1, может как-то частями? )) ящик проблематично будет ))) да и ящик придется самому везти, не пропускать же такое веселье )))
С этим элементом разобрались, СПАСИБО! сейчас буду разбирать как до него добрался и что я делал не так...
И еще такой вопрос - есть возможность использовать timestamp? При каждой итерации нужен уникальный идентификатор, не могу придумать как это реализовать... Но для начала первую бы итерацию закончить )
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
21.01.2022, 21:04
Цитата Сообщение от nik_ses Посмотреть сообщение
есть возможность использовать timestamp?
да, что бы это ни значило.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.01.2022, 21:04
Помогаю со студенческими работами здесь

Выбор элемента выпадающего списка ComboBox
В ComboBox есть список Items, изменил свойства: comboBox1.DropDownStyle = ComboBoxStyle.Simple; ...

Выбор случайного элемента из выпадающего списка
Итак, на листе &quot;Тест&quot; в ячейке &quot;А1&quot; я создал выпадающий список. Значения для этого списка берутся из именованного диапазона...

Выбор элемента из выпадающего списка с последующей вставкой в документ Word
Здравствуйте! Подскажите пожалуйста, как из выпадающего списка, с набором фамилий, при щелчке на какую-либо фамилию, вставить эту фамилию в...

Выбор из выпадающего списка
Есть массив: $arr = array('Имена' =&gt; array('Вася','Маша','Петя'), 'Фамилии' =&gt; array('Иванов','Петров','Сидоров')); ...

Выбор из выпадающего списка
Выпадающий список формируется из бд.мне нужно,чтобы пользователь выбрал фамилию а в бд сохранялся id. Как это сделать? &lt;td&gt;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru