Python机械化不会单击按钮

时间:2009-10-09 19:43:13

标签: python mechanize clientform

检查以下脚本:

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=

也就是说,它不会添加提交按钮的name = value对(register = Register)。为什么会这样? ClientForm在其他页面上正常工作,但在这个页面上却没有。我已经尝试将提交控件的disabled和readonly属性设置为True,但它没有解决问题。

1 个答案:

答案 0 :(得分:2)

注册按钮上有disabled=disabled个属性。这可以防止用户点击并推测机械化也可以尊重disabled属性。

您需要更改该按钮的源代码。启用控件意味着完全删除disabled=disabled文本。