这是我第一次尝试为此编写代码,这是迄今为止的问题。我想提交一个网站的注册表格,这是我能找到的最简单的。你知道吗
我的代码:
#!/usr/bin/python
#coding: utf-8
import mechanize
br = mechanize.Browser()
br.set_handle_robots(False)
br.addheaders = [('User-agent', 'Firefox')]
br.open('https://www.cint.com/registration/Template07.aspx?Guid=4fb4a86f-734f-41dd-8399-820edf3b0d61&Recruitment=Standa$
br.select_form(nr=0)
form = br.form
br.form['EmailAddress'] = 'ma@il.com'
br.form ['Gender'] = ['1']
br.form['YearOfBirth'] = ['1990']
br.form ['PostCode'] = '*MYPOSTALNUMBER*'
br.form ['Q_160809'] = ['2246480']
sub = br.submit()
print sub.geturl()
错误:
root@Python:~# python python.py
Traceback (most recent call last):
File "python.py", line 12, in <module>
br.form['EmailAddress'] = 'ma@il.com'
File "/usr/local/lib/python2.7/dist-packages/mechanize/_form_controls.py", line 1945, in __setitem__
control = self.find_control(name)
File "/usr/local/lib/python2.7/dist-packages/mechanize/_form_controls.py", line 2331, in find_control
return self._find_control(name, type, kind, id, label, predicate, nr)
File "/usr/local/lib/python2.7/dist-packages/mechanize/_form_controls.py", line 2424, in _find_control
raise ControlNotFoundError("no control matching " + description)
mechanize._form_controls.ControlNotFoundError: no control matching name 'EmailAddress'
Python版本:Python 2.7.6
如错误所述,问题是表单没有名为“EmailAddress”的字段,并抛出
ControlNotFoundError
。你知道吗要查看需要在表单中填写的字段,请打印它们:
打印的
field_name
是您需要填充的br.form['field_name']
相关问题 更多 >
编程相关推荐