如何使用mechanize python填写表单

如何使用mechanize python填写表单,python,python-2.7,mechanize,mechanize-python,Python,Python 2.7,Mechanize,Mechanize Python,我正在写一个脚本登录到一个网站,我想填写一份表格。我可以毫无问题地填写登录表单,但我不确定登录后如何填写实际表单。下面是我用来访问表单的代码:我想访问的表单由三个选项卡组成,它们在页面之间导航 import mechanize op = mechanize.Browser() # use mecahnize's browser op.set_handle_robots(False) url= "http://example.com" op.open(url) email = raw_input(

我正在写一个脚本登录到一个网站,我想填写一份表格。我可以毫无问题地填写登录表单,但我不确定登录后如何填写实际表单。下面是我用来访问表单的代码:我想访问的表单由三个选项卡组成,它们在页面之间导航

import mechanize
op = mechanize.Browser() # use mecahnize's browser
op.set_handle_robots(False)
url= "http://example.com"
op.open(url)
email = raw_input("Username: ") #ask for username
password = raw_input("Password: ") #ask for password

op.select_form(nr=0) #python labels forms 0,1,2,3 etc. since there is only 1 form, just select 0

op.form["loginForm:user"] = email
op.form["loginForm:pw"] = password
op.submit()

for i in op.forms():
   print i
这段代码打印出来:我更改了url,并用x替换了实际的javax.faces,以保护原始代码。当我在窗体上检查带有镀铬的元素时,这里不显示字段。这是怎么回事

<NavForm POST https://someurl.xhtml application/x-www-form-   urlencoded
<HiddenControl(NavForm=NavForm) (readonly)>
<HiddenControl(javax.faces.ViewState=XXXX) (readonly)>>

如果你调用op.submit会发生什么?@alecxe我忘了包含提交行。我提交登录,但在此之后没有理由提交,因为我还没有填写表单。那么,您可以成功登录并在以后填写表单吗?