使用Mechanize(Python)填表

10 投票
1 回答
24140 浏览
提问于 2025-04-17 21:36

我想用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()

希望这对你有帮助。

撰写回答