Я хочу активировать переключатель с Python-запросами.
В настоящее время я смотрю, что происходит, когда переключатель вручную выбран:
XHR to: http://exmp -url / admin-ajax.php
HEADERS:
'Accept': '*/*',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'pl-PL,pl;q=0.9,en-US;q=0.8,en;q=0.7,de;q=0.6',
'Connection': 'keep-alive',
'Content-Length': '110',
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
'X-Requested-With': 'XMLHttpRequest'
Полезная нагрузка:
'operacja': 'ShowRezerwacjeTable',
'action': 'ShowRezerwacjeTable',
'data': '2019-03-19',
'obiekt_typ': 'badminton',
'godz_od': '',
'godz_do': ''
Я пытаюсь имитировать и отправлять данные с той же полезной нагрузкой и заголовками:
with Session() as c:
c.post(login_page, data=payload)
# Getting page content after logging in.
response = c.get(reservation_page)
content = response.content
c.headers.update(headers)
resp = c.post('http://http://exmp-url/admin-ajax.php', data=payload2)
# Getting new content that should have altered HTML after radio button is checked.
new_content = codecs.decode(resp.content, encoding="utf-8-sig")
Код статуса ответа - 200, а содержимое - b '\ xef \ xbb \ xbf', а после декодирования оно пустое.
Что я делаю не так? Возможно, мне следует сменить подход и вместо этого попытаться нажать на кнопку. Я бы предпочел не использовать селен. Robobrowser предоставляется без видимого элемента формы?
Проверен HTML-код переключателя:
<input type="radio" id="rez_obiekt_typ_t" name="obiekt_typ" data-obiekt_typ="tenis" checked="" value="tenis" class="ui-helper-hidden-accessible">