1
目前使用機械化提交某種形式的沒有控制
這是我目前的代碼片段與Python機械化配套名稱:
add_control = br.form.find_control(name='CRN_IN', id='crn_id1')
共有10個文本框,我打印使用以下是代碼:
for form in br.forms():
print "Form name:", form.name
print form
這是輸出:
<TextControl(CRN_IN=)>
<HiddenControl(assoc_term_in=) (readonly)>
<HiddenControl(start_date_in=) (readonly)>
<HiddenControl(end_date_in=) (readonly)>
<HiddenControl(RSTS_IN=WR) (readonly)>
<TextControl(CRN_IN=)>
<HiddenControl(assoc_term_in=) (readonly)>
<HiddenControl(start_date_in=) (readonly)>
<HiddenControl(end_date_in=) (readonly)>
<HiddenControl(RSTS_IN=WR) (readonly)>
<TextControl(CRN_IN=)>
<HiddenControl(assoc_term_in=) (readonly)>
<HiddenControl(start_date_in=) (readonly)>
<HiddenControl(end_date_in=) (readonly)>
<HiddenControl(RSTS_IN=WR) (readonly)>
<TextControl(CRN_IN=)>
<HiddenControl(assoc_term_in=) (readonly)>
<HiddenControl(start_date_in=) (readonly)>
<HiddenControl(end_date_in=) (readonly)>
<HiddenControl(RSTS_IN=WR) (readonly)>
<TextControl(CRN_IN=)>
<HiddenControl(assoc_term_in=) (readonly)>
<HiddenControl(start_date_in=) (readonly)>
<HiddenControl(end_date_in=) (readonly)>
<HiddenControl(RSTS_IN=WR) (readonly)>
<TextControl(CRN_IN=)>
<HiddenControl(assoc_term_in=) (readonly)>
<HiddenControl(start_date_in=) (readonly)>
<HiddenControl(end_date_in=) (readonly)>
<HiddenControl(RSTS_IN=WR) (readonly)>
<TextControl(CRN_IN=)>
<HiddenControl(assoc_term_in=) (readonly)>
<HiddenControl(start_date_in=) (readonly)>
<HiddenControl(end_date_in=) (readonly)>
<HiddenControl(RSTS_IN=WR) (readonly)>
<TextControl(CRN_IN=)>
<HiddenControl(assoc_term_in=) (readonly)>
<HiddenControl(start_date_in=) (readonly)>
<HiddenControl(end_date_in=) (readonly)>
<HiddenControl(RSTS_IN=WR) (readonly)>
<TextControl(CRN_IN=)>
<HiddenControl(assoc_term_in=) (readonly)>
<HiddenControl(start_date_in=) (readonly)>
<HiddenControl(end_date_in=) (readonly)>
<HiddenControl(RSTS_IN=WR) (readonly)>
如我的代碼片段所示,我可以使用id='crn_id1'
選擇1 - 10個文本框,一直到id=crn_id10
。不過,我的問題是,當我嘗試以下方法:
add_control = br.form.find_control(name='CRN_IN', id='crn_id1')
add_control['CRN_IN'] = '34688' # this indicates a CRN to submit
response = br.submit()
我收到以下錯誤:
Traceback (most recent call last):
File "./add2.py", line 37, in <module>
add_control['CRN_IN'] = '34688'
File "/usr/local/lib/python2.7/site-packages/mechanize/_form.py", line 1212, in __getattr__
(self.__class__.__name__, name))
AttributeError: TextControl instance has no attribute '__setitem__'
編輯:
我添加.select_form()
到find_control
行之後,我得到出現以下錯誤:
Traceback (most recent call last):
File "./add2.py", line 35, in <module>
add_control = br.form.find_control(name='CRN_IN', id='crn_id1').select_form()
File "/usr/local/lib/python2.7/site-packages/mechanize/_form.py", line 1212, in __getattr__
(self.__class__.__name__, name))
AttributeError: TextControl instance has no attribute 'select_form'