Python Mechanize - отправить форму ответа
У меня есть этот код:
import mechanize
def register():
br = mechanize.Browser()
br.set_handle_robots(False)
br.open("http://somtehing.com/form2/index.php")
br.select_form(nr=0)
br.form["email"] = "stone@klikni.com"
br.form["name"] = "Jan"
br.form["nickname"] = "Vrsrly"
br.form["postnum"] = "41182"
br.form["age"] = "52"
br.form["sex"] = ["man"]
br.form["tel"] = "+420723545054"
br.find_control("rules").items[0].selected = True
res = br.submit()
content = res.read()
with open("mechanize_results.html", "w") as f:
f.write(content)
но когда я смотрю на веб-сайте mechanize_results.html, это просто заполненная форма, флажок установлен, но я не знаю, была ли она отправлена. Когда я сделал это вручную, он перенаправил меня на страницу, на которой было написано "Зарегистрировано успешно". И я не получаю этот ответ с механизировать. Есть идеи как это решить?
1 ответ
Я только что решил аналогичную проблему в форме, казалось, не имеет никакого эффекта.
datat = {'username': 'lnIqd6Et','password':'4BafqzIm8sLgWxdvw9Cb'}
#Encode the parameters
data = urllib.urlencode(datat)
#Submit the form (POST request).
print "POST"
browser.open(post_url,data)
print "POSTED"
print browser.open(url_to_get).read()