python - запросы - как POST "несколько этапов" формы - PullRequest
0 голосов
/ 17 мая 2018

Я знаю, как опубликовать форму, но я не знаю, как разместить форму «в несколько этапов». Вот что я имею в виду: First stage - вы заполняете форму
Second stage - форма отображается в виде предварительного просмотра (вы не можете редактировать данные, только нажимаете кнопку «Назад» или «Далее»).
Third stage - они предлагают некоторые маркетинг, чтобы увеличить вашу рекламу (у вас есть 2 кнопки, Отмена или Отправить)
Я пытался сделать это в сеансе, в любом случае, вот мой код:

import requests 

payload = {'log': "MY_LOG", 'pwd': "MY_PASS"} # data for log in in Stage 0

url = "http://..._id=3" 
url2 = "http://.../wp-login.php"

with requests.Session() as session:
    res2 = session.post(url2, data=payload) # login page - passed successfuly
    payload2 = {'adcontact_phone': '123321123', 'adtitle': 'TEST TEST',\
 'addetails': 'TEST TEST'} # fields name and data
    res = session.get(url, params=payload2) # 1st stage (fill the form)
    res = session.post(url, data=payload2) # 2nd stage (preview the form)
    res = session.post(url) # 3rd stage (promotion)

Несколько слов объяснения в терминах первого res имеет .get и 2,3 имеют. post, потому что, согласно Dev console, первая форма имела метод GET, а 2-я и 3-я ступени имели POST.
Надеюсь, теперь это достаточно ясно. Пусть начнется мозговой штурм: D

1 Ответ

0 голосов
/ 19 мая 2018

Я решил эту проблему.Я очистил URL с помощью bs4, и, очевидно, было несколько скрытых полей ввода, которые я добавил в полезную нагрузку с некоторым значением.
В конце концов, это сработало, поэтому я доволен.
Спасибо всем, кто принимал участие в этом вопросе, и за советы.

...