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

Как с использованием post запрос нажать на кнопку на сайте в python?

25.03.2018, 21:03. Показов 20421. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Мне надо нажать на кнопку на сайте. Я разобрался как это сделать с помощью selenium webdriver, но понял что мне это не подходит, слишком медленно работает.

Узнал что можно это сделать с помощью post запрос, но не смог найти достаточно конкретной информации.
В общех чертах нашел:

Чтобы сделать POST запрос, используйте функцию requests.post().
Python
1
response = requests.post('http://example.com/', data={'key': 'value'})
Через аргумент data передаёте словарь с переменными, если они нужны. В переменной response оказывается объект ответ, у которого есть атрибут cookies, который содержит словарь с куками. Передать эти куки в следующем запросе можно с помощью параметра (вот ведь неожиданно!) cookies.
Python
1
next_response = requests.post('http://example.com/', cookies=response.cookies)

Кнопка на которою нужно нажать:

HTML5
1
2
3
4
5
<button class="btn btn-lg btn-call" ng-click="vm.upQuery($event)" 
ng-disabled="vm.isMarketClosed() || !vm.active" ng-mouseenter="vm.onCallOver()" type="button">
  <i class="n-icon n-icon-go-up size-30">
    </i>
</button>
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.03.2018, 21:03
Ответы с готовыми решениями:

Нажать кнопку ГУИ приложения с использованием Python
Есть некое приложение. Мне нужно с помощью Python нажать кнопку в программе Default DNS Буду...

Как нажать на кнопку на сайте?
День добрый. использую Python 2.7 и библиотеку Grab. никак не могу нажать кнопку на сайте. &quot;Name&quot; у...

Как нажать на кнопку на сайте?
я юзаю cURL я понимаю что посути надо вызвать функцию которую запускает кнопка? как найти эту...

Как нажать кнопку на сайте?
Ребята, срочно нужна помощь: как нажать кнопку на сайте? &lt;a...

Как нажать кнопку на сайте
Вот кусок кода от кнопки: &lt;div class=&quot;market_listing_right_cell market_listing_action_buttons&quot;&gt;...

6
394 / 122 / 48
Регистрация: 26.10.2013
Сообщений: 734
25.03.2018, 22:31 2
чтобы понять что нужно сделать для отправки пост запроса) нужно открыть инструменты разработчика, с которыми вы уже знакомы, и перейти на вкладку "сеть" после этого надо кликнуть на кнопку и смотреть что там куда отправляется и вот тогда у вам все карты в руки)

Добавлено через 1 минуту
отправкой поста вы не кнопку нажимаете) а шлете данные на сервер которые должна была отправить кнопка по клику)
ЗЫ хотя это актуально для любого типа запросов)
1
Просто Лис
Эксперт Python
5965 / 3728 / 1097
Регистрация: 17.05.2012
Сообщений: 10,786
Записей в блоге: 9
26.03.2018, 05:01 3
А ещё проще установить анализатор трафика (wireshank или ему подобный) и увидеть post-запрос там, а потом подделать его питоном (конечно, только http).
0
394 / 122 / 48
Регистрация: 26.10.2013
Сообщений: 734
26.03.2018, 08:55 4
Рыжий Лис, и чем же проще?)
0
Просто Лис
Эксперт Python
5965 / 3728 / 1097
Регистрация: 17.05.2012
Сообщений: 10,786
Записей в блоге: 9
26.03.2018, 09:44 5
Личное субъективное мнение.
0
394 / 122 / 48
Регистрация: 26.10.2013
Сообщений: 734
26.03.2018, 10:30 6
Рыжий Лис, это я понимаю, мне просто было интересно на чем оно основано) может расскажете?)
0
Просто Лис
Эксперт Python
5965 / 3728 / 1097
Регистрация: 17.05.2012
Сообщений: 10,786
Записей в блоге: 9
26.03.2018, 10:35 7
Удобно отлаживать http-запросы в одном месте. Т.е. условно жмём кнопку в браузере - смотрим запрос. Запускаем скрипт - смотрим запрос, сразу видим отличия. Не важно кто послал пакеты: браузер или питоновский скрипт. Мощная фильтрация пакетов в wireshank.

Конечно, можно отладочную информацию получить в питоне, установив logging.DEBUG, но не видно заголовков (в том числе кук).
2
26.03.2018, 10:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.03.2018, 10:35
Помогаю со студенческими работами здесь

Как нажать на кнопку на сайте в selenium
Здравствуйте. В вк на сайте при регистрации, нужно указать пол.(всё равно какой) Но не получается...

Как нажать на сайте на кнопку без id?
здравствуйте, есть сайт https://toolber.ru/random-word-generator на нём есть кнопка&quot;Генерировать...

Как нажать программно кнопку на сайте?
Добрый день. тема заюзанная, но внятных ответов не нашёл. имеется сайт Google-переводчик. нужно...

[cURL] как нажать кнопку на сайте?
я понимаю что посути надо вызвать функцию которую запускает кнопка? как найти эту функцию? я...

Как программно нажать кнопку на сайте?
Добрый день. Есть необходимость написать программку которая будет вводить данные на определенный...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru