Нажмите кнопку "ОК" на веб-странице с помощью модуля запросов Python

У меня есть устройство, которым можно управлять с помощью интерфейса веб-страницы.

адрес устройства может быть:

http://10.18.25.25/restart

с кнопкой отправки на веб-странице:

<form action="/restart/restart" method="POST" name="restartForm">
                            <input type="submit" value="OK">
                        </form>

Я пытаюсь использовать запросы модуля Python для автоматизации нажатия на кнопку на этой веб-странице.

from urllib3 import requests
r = requests.get('http://10.18.25.25/restart', auth=('username', 'password'))

есть идеи??

2 ответа

Решение

Из предоставленной информации, я предполагаю, что вы посещаете страницу на http://10.18.25.25/restart/ который имеет форму, чтобы перезагрузить устройство при отправке.

Определенное вами действие присутствует в URI /restart/restart на форме. Сделайте запрос на тот же URI:

r = requests.post('http://10.18.25.25/restart/restart', auth=('username', 'password'))

В зависимости от сайта вы можете или не можете эмулировать действие формы с соответствующим HTTP-запросом POST к /request/request, но в большинстве реальных примеров, которые я видел, есть дополнительные файлы cookie и javascript, которые работают рядом с Форма делает этот подход чрезвычайно сложным, если не невозможным.

Однако, посмотрите библиотеку Selenium, которая предоставляет команды для программного управления браузером через Python. Я знаю, что ваш конкретный вопрос относится к модулю запросов, и в вашем случае этого может быть вполне достаточно, но в общем случае Selenium стоит проверить.

Другие вопросы по тегам