2009-12-02 6 views
5

मैं वेबसाइट खोलने के लिए पाइथन मैकेनाइजेशन का उपयोग कर रहा हूं, एक फॉर्म भर सकता हूं, और उस फॉर्म को सबमिट कर सकता हूं। यह वास्तव में बहुत आसान है। यह तब तक काम करता है जब तक मैं रेडियो बटन और "चयन" इनपुट बॉक्स में नहीं आता।TypeError: ListControl, एक अनुक्रम (पायथन त्रुटि) सेट करना होगा

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 

मुझे यह त्रुटि क्यों मिल रही है? मैं टेक्स्ट बॉक्स की तरह क्यों सेट नहीं कर सकता? (ई एक रेडियो बटन है)

संपादित करें: वेब डेवलपर के अनुसार यह फ़ॉर्म है।

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

कृपया रेडियो बटन के लिए एचटीएमएल की आपूर्ति करें – Amirshk

उत्तर

8

रेडियो बटन और चेक-बॉक्स में अन्य तत्वों के बाद अलग-अलग व्यवहार हो सकते हैं। यह उनके नाम और आईडी पर निर्भर करता है।

आइटम एक ही नाम है, तो ऐसा करने का प्रयास करें:

br.find_control(name="E").value = ["0"] 

एक अन्य विकल्प है:

form.find_control(name="E", kind="list").value = ["0"] 

और अंत में, यह काम हो सकता है:

br["E"] = ["0"] 

(मैं थोड़ी देर में मशीनीकरण का उपयोग नहीं किया है इसलिए मुझे बिल्कुल याद नहीं है)।

संबंधित मुद्दे