Обрабатывать радиокнопки с запросами - PullRequest
1 голос
/ 21 марта 2019

Я хочу активировать переключатель с 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">
...