|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.11.2021, 14:05 | #1 |
Новичок
Джуниор
Регистрация: 23.11.2021
Сообщений: 3
|
Проблема с парсингом на питоне с помощью Selenium.
Всем привет)
Хотел тут запарсить сайт авто.ру, но столкнулся с проблемой Если перейти во вкладку "дилеры" (https://auto.ru/dilery/cars/all/) то там, справа вверху, можно указать регион поиска. В общем, мне нужно указать определенный регион, в селениуме сделал следующим образом: Посмотрел код, узнал что данная кнопка находиться блоке div с классом "GeoSelect__title-shrinker" Но данная команда: "driver.find_element_by_class_name( 'GeoSelect__title-shrinker').click()" ничего не выдает. Затем мне нужно напечатать регион (до этого пункта разумеется не доходит, тк первая команда не работает): search = driver.find_element_by_class_name(' TextInput__placeholder') search.clear() search.send_keys('Самара') Но вот что я заметил. На сайте имеется блок div с классом "Popup_js_inited GeoSelect__popup", в котором и лежит поле ввода с классом "TextInput__placeholder", которое мне нужно. Сам div блок пустой, но если нажать на кнопку выбора региона, то этот блок открывается. В общем, мне нужно либо как-то открыть этот блок, чтобы в него ввести send_keys, либо как-то нажать на кнопку, которая его открывает, при помощи первой команды Скрины прилагаются Кнопка которую надо нажать: Кнопка которую надо нажать.jpg Скрытый блок скрытый блок.jpg Не знаю, пробовал в инструментах разработчика смотреть "Network", может как-то запрос обработать чтобы этот блок раскрылся, но я пока не очень разбираюсь в этом. Последний раз редактировалось Rezlay; 23.11.2021 в 14:07. |
23.11.2021, 14:09 | #2 |
Старожил
Регистрация: 24.01.2011
Сообщений: 3,119
|
так, что не выложили пиновский код?
|
23.11.2021, 14:36 | #3 |
Новичок
Джуниор
Регистрация: 23.11.2021
Сообщений: 3
|
Могу)
Код:
|
23.11.2021, 14:55 | #4 |
Новичок
Джуниор
Регистрация: 23.11.2021
Сообщений: 3
|
В общем в разделе "вводим регион" неверно указан класс("TextInput__placeholder"), нужен его подкласс "TextInput__control", я это изначально заметил, но изменил, потому что "TextInput__control" на странице 3 штуки.
Но сейчас вспомнил и попытался исправить но есть проблема. Я так понял дело не в строке где мы кликаем на выбор регион, потому что она в итоге кликается Дело в строке где мы вводим регион. Я её исправил на следующее: search = driver.find_element_by_class_name(' TextInput__placeholder').find_eleme nt_by_class_name('TextInput__contro l') и так же через xpath: search = driver.find_element_by_xpath('/html/body/div[6]/div/div[2]/div[1]/label/div/span/input') Но он выдает ошибку: Message: no such element: Unable to locate element: {"method":"css selector","selector":".TextInput__c ontrol"} |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с парсингом | UKRtortik | Общие вопросы Delphi | 8 | 22.03.2014 22:43 |
Проблема с парсингом | RUKatya | Общие вопросы Delphi | 1 | 17.03.2014 17:13 |
проблема с парсингом | Pein95 | Общие вопросы Delphi | 3 | 23.11.2011 06:08 |
проблема с парсингом | Pein95 | Общие вопросы Delphi | 5 | 14.07.2011 20:11 |