我正在使用mechanize(http://wwwsearch.sourceforge.net/mechanize/)登录www.coinotron.com,但执行时我的执行挂起br.submit()
import mechanize
...
br = mechanize.Browser()
br.open("https://coinotron.com/app?action=logon")
form = br.select_form(nr=0)
br.form["name"] = "myusername"
br.form["password"] = "mypassword"
reponse = br.submit() # HERE THE EXECUTION HANGS!
如果我评论密码行,那么脚本执行正常,但当然它不会登录。
答案 0 :(得分:0)
找到了解决方法,虽然我不完全理解它的工作原理。但是由于HTTPRefreshProcessor.honor_time = True和HTTPRefreshProcessor.max_time具有较大的值,因此认为br.submit()正在休眠。
所以我在br = mechanize.Browser()
之后添加了以下行:
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1, honor_time=True)
以下页面帮助了我,虽然与我的问题没有直接关系: Mechanize in Python - Redirect is not working after submit