Ich verwende Python Mechanize, um eine Website zu öffnen, ein Formular auszufüllen und dieses Formular abzuschicken. Es ist eigentlich ziemlich einfach. Es funktioniert, bis ich über Optionsfelder und "select" Eingabefelder kommen.
br.open(url)
br.select_form(name="postmsg")
br.form['subject'] = "Is this good for the holidays? "
br.form['message'] = "I'm new to technology."
br.form['E'] = '0'
br.submit()
br.form['E'] = '0'
File "build/bdist.linux-x86_64/egg/ClientForm.py", line 2897, in __setitem__
File "build/bdist.linux-x86_64/egg/ClientForm.py", line 2092, in __setattr__
File "build/bdist.linux-x86_64/egg/ClientForm.py", line 2100, in _set_value
TypeError: ListControl, must set a sequence
Warum erhalte ich diesen Fehler? Warum kann ich nicht einstellen E genau wie die Textfelder? (E ist eine Optionsschaltfläche)
Edit: Dies ist das Formular, laut Web Developer.
Elements
Index Id Name Type Value Label Size Maximum Length State
0 subject subject text 35
2 message message textarea
3 identity identity select 1
13 action_btn hidden
14 _charset_ hidden
16 r hidden /Stocks_(A_to_Z)/Stocks_G
9 E radio 0
Checked
8 E radio 1
15 .crumb hidden 1n1Yo3MQae3
7 E radio 2
17 bn hidden 25263
6 E radio 3
5 E radio 4
4 E radio 5
12 SubmitCancel SubmitCancel submit Cancel
1 mbpostthreads threads button Check Existing Topics First
11 SubmitPost SubmitPost submit Post Message
10 SubmitPreview SubmitPreview submit Preview Message
18 yIdCoreIdUser hidden annamae41g
0 Stimmen
Bitte liefern Sie den HTML-Code für die Optionsfelder