使用Mechanize(Python)填表
我想用Python的mechanize库来填写这个页面上的表单,然后记录下响应结果。我该怎么做呢?当我用下面的代码在这个页面上搜索表单时,只找到了搜索的表单。我该如何找到其他表单的名称,比如那些包含姓名、性别等字段的表单呢?
http://aapmaharashtra.org/join-us
代码:
import mechanize
br=mechanize.Browser()
br.open("http://aapmaharashtra.org/join-us")
for form in br.forms():
print "Form name:", form.name
print form
1 个回答
10
你需要的这个表单(带有 id="form1"
)是动态加载的,所以你在 select_forms()
的结果中看不到它。
通过使用浏览器的开发者工具,你可以发现这个表单是从 http://internal.aamaadmiparty.org/Directory/Format.aspx?master=blank
这个链接加载的。
那么你可以从这里开始:
import mechanize
br = mechanize.Browser()
br.open("http://internal.aamaadmiparty.org/Directory/Format.aspx?master=blank")
br.select_form(nr=0)
br.form['ctl00$MainContent$txtname'] = 'Test Name'
# fill out other fields
req = br.submit()
希望这对你有帮助。