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

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

13.04.2020, 10:21. Показов 7840. Ответов 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
Ответ Создать тему
Новые блоги и статьи
изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru