Форум программистов, компьютерный форум, киберфорум
Python: Web
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 06.10.2019
Сообщений: 6

Не подгружается список при вводе данных

03.01.2020, 11:06. Показов 824. Ответов 3

Студворк — интернет-сервис помощи студентам
Ребят помогите разобраться,
Написала скрипт по заполнению данных на сайте. python + Selenium

На сайте в текстовое поле вбиваешь данные ФИО, после этого должен подгрузиться список.
Пример: см. Скрин_1

НО! периодически при вводе ФИО в данное поле, сервер выдает следующее: см. скрин 2
Выскакивает каждый раз на разных фамилиях при обработке одного и тогоже списка.

и скрипт выдает ошибку:

selenium.common.exceptions.NoSuchElement Exception: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//option[. = 'Васильева Елена Викторовна']"}
(Session info: chrome=79.0.3945.88)

САМ скрипт
Кликните здесь для просмотра всего текста
вот:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
driver = webdriver.Chrome()
driver.implicitly_wait(20)
 
 
'''''Авторизация Вход на страницу'''
 
driver.get("https:/.................")
 
#Проверка наличия автора в списке
def Poisk_autor(key, value):
    FIO = str(key + " " + value.split(" ")[0] + " " + value.split(" ")[1])
   
    driver.find_element_by_xpath("//button[@class='btn dropdown-toggle btn-default']/span").click()
    driver.find_element_by_xpath("//div[@class='bs-searchbox']/input").send_keys(FIO + Keys.RETURN) # 
 
    Select(driver.find_element_by_id("monography_author_author"))
    
    path = str("//option[. = '" + FIO + "']")
    driver.find_element_by_xpath(path).click()
 
    driver.find_element_by_xpath('//div[@class="bottom-align-text col-lg-2 col-xs-3 text-right"]/div[@class="form-group"]/button').click()# Клик по кнопке Добавить автора
 
 
def authorsList():
    list = # список в виде словаря : DOI.ListAvtor() = {'Алтухова': 'Наталья Фаридовна', 'Беляев': 'Александр Матвеевич', ....
}
    for key, value in list.items():
        Poisk_autor(key, value)
 
authorsList()

Когда сайт подвисает на списке (скрин_2), стоит нажать любую клавишу, к примеру Enter или PrintScrin - тут же подгружается список и все находится...

Что стопотрит подгрузку списка?
С этим можно как-то бороться? или смириться и жить дальше?
Я поставила неявное ожидание в 20 сек, но видимо не спасает.


Кликните здесь для просмотра всего текста

Код сайта :
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<div class="dropdown-menu open" style="min-height: 38px; max-height: 302.8px; overflow: hidden;">
    <div class="bs-searchbox">
        <input type="text" class="form-control" autocomplete="off" placeholder="Поиск...">
    </div>
    <ul class="dropdown-menu inner" role="menu" style="min-height: 0px; max-height: 252.8px; overflow-y: auto;">
        <li data-original-index="1">
            <a tabindex="0" class="" style="" data-tokens="null"><span class="text">Скворцова Эльмира Николаевна<small class="text-muted"></small></span><span class="glyphicon glyphicon-ok check-mark"></span>
            </a>
        </li>
    </ul>
    <div class="status" style="display: none;"></div>
</div>
<select id="monography_author_author" name="monography_author[author]" data-live-search="true" class="form-control" tabindex="-98" title="Выберите из найденного или введите текст для уточнения результатов поиска">
    <option class="bs-title-option" value="">Выберите из найденного или введите текст для уточнения результатов поиска</option>
    <option value="8533" data-subtext="">Скворцова Эльмира Николаевна</option>
</select>
Миниатюры
Не подгружается список при вводе данных   Не подгружается список при вводе данных  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.01.2020, 11:06
Ответы с готовыми решениями:

Проверка данных (тип список), список возможных вариантов при вводе вручную
Можно ли в инструменте Проверка данных (при типе данных &quot;Список&quot;) выводить список возможных значений при вводе вручную? Например, если...

Выпадающий список при вводе
Добрый день. Дело в том, что я даже не знаю как гуглить то, что мне нужно. Хочу реализовать такое: Есть поле, вводишь допустим букву М и...

Ошибка при вводе чисел в список
При добавлении чисел в начало, несколько раз, то неправильно добавляется. И не получается сортировка. #include &lt;iostream&gt; ...

3
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
03.01.2020, 20:24
Цитата Сообщение от Наталка1988 Посмотреть сообщение
Написала скрипт по заполнению данных на сайте. python + Selenium
А кто вам сказал, что нужно обязательно использовать selenium?
0
1 / 1 / 0
Регистрация: 06.10.2019
Сообщений: 6
03.01.2020, 22:20  [ТС]
ээээ... google

Как запросишь: написать парсер, чтоб и формы заполнял, и на кнопочки нажимал, и так чтоб мозгов хватило на осознание...
ОН мне красной дорожкой и привел к selenium.

google на врал?

====================================


Вы думаете selenium подтупливает? или я в скрипте намудрила?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
04.01.2020, 01:08
Цитата Сообщение от Наталка1988 Посмотреть сообщение
Как запросишь: написать парсер, чтоб и формы заполнял, и на кнопочки нажимал
1) selenium (в первую очередь) не парсер вовсе, а обертка браузерных драйверов.
2) Делать имитацию человеко-действий в браузере далеко не всегда необходимо.
Формочки заполняются post запросами. Кнопочки можно вообще не тыкать. Просто нужно прежде чем что-то применять - запустить браузерный дебаггер (Ctrl+Shift+I) и узнать что происходит в консоли, когда вы тыкаете на кнопки на странице сайта. А происходит там, скорей всего, банальный AJAX. И для отправки AJAX запросов никакой selenium+браузер не нужен.
Нужно лишь понять внутренний API сайта и использовать его.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.01.2020, 01:08
Помогаю со студенческими работами здесь

Выпадающий список при вводе в input
Привет, ребят, помогите, пожалуйста, со скриптом! Нужно, чтобы при в вводе в поле input города ниже появлялся выпадающий список с районами...

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

Выпадающий список при вводе текста пользователем в форму
Всем привет! Сделал скрипт, который ищет значения из БД. Скрипт написан на php. хочу сделать такую штуку, чтобы когда пользователь...

Список похожих слов при вводе в текстовое поле
как сделать так чтобы во время ввода текста в текстовое поле, внизу автоматически из БД выводились похожие слова например: поиск имен...

Вывод в выпадающий список варианты выбора из бд при вводе
как при вводе пользователем в текстовое поле вывести варианты выбора из бд по определенному столбцу Например: пользователь вводит букву...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru