检查以下脚本:
from mechanize import Browser
br = Browser()
page = br.open('http://scottishladiespool.com/register.php')
br.select_form(nr = 5)
r = br.click(type = "submit", nr = 0)
print r.data
#prints username=&password1=&password2=&email=&user_hide_email=1&captcha_code=&user_msn=&user_yahoo=&user_web=&user_location=&user_month=&user_day=&user_year=&user_sig=
也就是说,它不会添加提交按钮的名称=值对(register=Register)。为什么会发生这种情况? ClientForm 在其他页面上可以正常工作,但在这一页面上却不能。我尝试过将提交控件的disabled和readonly属性设置为True,但并没有解决问题。
最佳答案
注册按钮上有一个disabled=disabled
属性。这会阻止用户点击,并且可能 mechanize 也会考虑 disabled
属性。
您需要更改该按钮的源代码。启用该控件意味着完全删除 disabled=disabled
文本。
关于Python mechanize 不点击按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1545698/