Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/40: Рейтинг темы: голосов - 40, средняя оценка - 4.55
2 / 2 / 0
Регистрация: 15.10.2019
Сообщений: 46

Парсинг - нажатие кнопки обновления данных

13.04.2020, 10:21. Показов 7884. Ответов 8

Студворк — интернет-сервис помощи студентам
Привет, не могу понять как нажать кнопку на скрине, я вроде нахожу её, но кликнуть не могу.

http://asunp.meteo.ru/portal/hydroweb/home
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
driver = webdriver.Chrome('./chromedriver',options=options)
driver.get('http://asunp.meteo.ru/portal/hydroweb/home');
time.sleep(5)
search_next = driver.find_elements_by_class_name('ui-paginator-next ui-state-default ui-corner-all')
print(search_next)
search_next.click
time.sleep(5)
driver.quit()[]
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-116-d241f951b64f> in <module>
     15 search_next = driver.find_elements_by_class_name('ui-paginator-next ui-state-default ui-corner-all')
     16 print(search_next)
---> 17 search_next.click
     18 time.sleep(5)
     19 htmlbody = driver.page_source
 
AttributeError: 'list' object has no attribute 'click'
я не то ищу или это не кнопка?
Миниатюры
Парсинг - нажатие кнопки обновления данных  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.04.2020, 10:21
Ответы с готовыми решениями:

Парсинг или заполнение полей и нажатие кнопки кодом
Здрасти))) Да это опять я))) Неопытный выхухыль))) Я сёдня весь день бился с новостями в платформе... а точнее с добовление...

Нажатие на кнопки и сбор данных
Доброго времени суток. Пытаюсь сделать сбор данных. При нажатии на кнопку выходит окно со статистикой, откуда надо парсить. Я сделал...

Автоматическое введение данных при нажатие кнопки
Доброго времени суток. Создаю БД учет товаров. Есть разные филиалы (они указаны в справочнике филиалов) и таблица регистрации продаж. На...

8
2 / 2 / 0
Регистрация: 15.10.2019
Сообщений: 46
13.04.2020, 10:43  [ТС]
что делать, если селениум не может нажать на неё!?

Код поправил
Кликните здесь для просмотра всего текста
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import time
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('headless')
options.add_argument('--disable-infobars')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--no-sandbox')
options.add_argument('--remote-debugging-port=9222')
​
driver = webdriver.Chrome('./chromedriver',options=options)
driver.get('http://asunp.meteo.ru/portal/hydroweb/home');
time.sleep(5)
search_next = driver.find_element_by_class_name('ui-paginator-page ui-state-default ui-corner-all')
print(search_next)
search_next.click()
time.sleep(5)
driver.quit() 
​
---------------------------------------------------------------------------
NoSuchElementException                    Traceback (most recent call last)
<ipython-input-120-7e1bec3fa917> in <module>
     11 driver.get('http://asunp.meteo.ru/portal/hydroweb/home');
     12 time.sleep(5)
---> 13 search_next = driver.find_element_by_class_name('ui-paginator-page ui-state-default ui-corner-all')
     14 print(search_next)
     15 search_next.click()
 
/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py in find_element_by_class_name(self, name)
    562             element = driver.find_element_by_class_name('foo')
    563         """
--> 564         return self.find_element(by=By.CLASS_NAME, value=name)
    565 
    566     def find_elements_by_class_name(self, name):
 
/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py in find_element(self, by, value)
    976         return self.execute(Command.FIND_ELEMENT, {
    977             'using': by,
--> 978             'value': value})['value']
    979 
    980     def find_elements(self, by=By.ID, value=None):
 
/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py in execute(self, driver_command, params)
    319         response = self.command_executor.execute(driver_command, params)
    320         if response:
--> 321             self.error_handler.check_response(response)
    322             response['value'] = self._unwrap_value(
    323                 response.get('value', None))
 
/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/errorhandler.py in check_response(self, response)
    240                 alert_text = value['alert'].get('text')
    241             raise exception_class(message, screen, stacktrace, alert_text)
--> 242         raise exception_class(message, screen, stacktrace)
    243 
    244     def _value_or_default(self, obj, key, default):
 
NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".ui-paginator-page ui-state-default ui-corner-all"}
  (Session info: headless chrome=81.0.4044.92)
0
Заклинатель змей
 Аватар для DobroAlex
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,605
13.04.2020, 11:08
sawabear,
Попробуйте в первом коде
Python
1
driver.find_by_class_name(.......).first
0
2 / 2 / 0
Регистрация: 15.10.2019
Сообщений: 46
13.04.2020, 11:19  [ТС]
Python
1
'WebDriver' object has no attribute 'find_by_class_name'
0
Заклинатель змей
 Аватар для DobroAlex
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,605
13.04.2020, 11:22
sawabear, неправильно выразился. В селениум find возвращает list, у которого есть first и last. Попробуйте к 4 строке оригинального кода добавить в конце .first
0
2 / 2 / 0
Регистрация: 15.10.2019
Сообщений: 46
13.04.2020, 12:27  [ТС]
Я так и понял сообщение, но сам же и забыл добавить first.

Ошибка (которую уже встречал):
Python
1
2
Message: no such element: Unable to locate element: {"method":"css selector","selector":".ui-paginator-page ui-state-default ui-corner-all"}
  (Session info: headless chrome=81.0.4044.92)
Добавлено через 2 минуты
Весь код = оригинал + ферст.

Кликните здесь для просмотра всего текста
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
import time
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument('headless')
options.add_argument('--disable-infobars')
options.add_argument('--disable-dev-shm-usage')
options.add_argument('--no-sandbox')
options.add_argument('--remote-debugging-port=9222')
​
driver = webdriver.Chrome('./chromedriver',options=options)
driver.get('http://asunp.meteo.ru/portal/hydroweb/home');
time.sleep(5)
search_next = driver.find_elements_by_class_name('ui-paginator-next ui-state-default ui-corner-all').first
print(search_next)
search_next.click
time.sleep(5)
driver.quit() 
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-5-e790a7045882> in <module>
     11 driver.get('http://asunp.meteo.ru/portal/hydroweb/home');
     12 time.sleep(5)
---> 13 search_next = driver.find_elements_by_class_name('ui-paginator-next ui-state-default ui-corner-all').first
     14 print(search_next)
     15 search_next.click
 
AttributeError: 'list' object has no attribute 'first'
0
Заклинатель змей
 Аватар для DobroAlex
705 / 560 / 219
Регистрация: 30.04.2016
Сообщений: 2,605
13.04.2020, 21:56
sawabear, я сейчас не за компом, но обязательно гляну сайт как будет возможность
1
2 / 2 / 0
Регистрация: 15.10.2019
Сообщений: 46
14.04.2020, 06:33  [ТС]
спасибо!

просто там, видимо, придется запросы ajax отправлять. а я в них так и не разобрался (не увидел закономерности, чтобы автоматизировать), поэтому решил селениум использовать.
0
2 / 2 / 0
Регистрация: 15.10.2019
Сообщений: 46
15.04.2020, 06:34  [ТС]
Проблема решена.

У меня была не "кнопка", поэтому:

Сначала необходимо навести курсор на элемент, чтобы он активировался, а потом уже кликнуть.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.04.2020, 06:34
Помогаю со студенческими работами здесь

Добавление в базу данных через нажатие кнопки
вопрос вот в чем, при добавлении в БД из формы, в таблице создается новая строка но все значения пустые в этой форме ввожу значения ...

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

Работа Awesomium в цикле, передача данных и нажатие кнопки в браузере
Необходимо парсить в цикле браузером Awesomium. Передаю данные в цикле For в WebControl1: ...

Эмулировать нажатие кнопки мыши или нажатие клавиши на Web - странице
Здравствуйте. Как на эмулировать переходы по страницам на сайте, открытом в Интернет эксплорере!. Например: В определенные...

ListView после обновлений данных также обратно через нажатие кнопки вернуть старые данные назад
Я работаю с ассортиментом для продаж ,которого JSON файла сохраняю локально.В ListView я передаю сначала весь ассортимент у которого нет...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru