Derzeit Mechanize passend mit einigen FormenKeine Kontrolle Namen mit Python Mechanize
Dies ist mein aktueller Code-Snippet einreichen:
add_control = br.form.find_control(name='CRN_IN', id='crn_id1')
Es gibt insgesamt 10 Textfelder, die ich folgendes Drucken mit Code:
<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)>
:
for form in br.forms():
print "Form name:", form.name
print form
Dies ist der Ausgang
Wie in meinem Codeschnipsel gezeigt, kann ich die 1 - 10 Textfelder mit der id='crn_id1'
bis hin zu id=crn_id10
auswählen. Aber mein Problem ist, wenn ich versuche, die folgenden:
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()
Ich erhalte die folgende Fehlermeldung:
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__'
EDIT:
Nachdem ich .select_form()
zum find_control
Zeile hinzufügen, erhalte ich der folgende Fehler:
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'