2016-06-15 108 views
0

試圖填寫表單以獲得城市中商品的平均價格。機械化:TypeError:'NoneType'對象不支持項目分配

basket = br.open('http://www.numbeo.com/cost-of-living/') 
read_it = basket.read() 

# Select form 
for form in br.forms(): 
    print '%r %r %s' % (form.name, form.attrs.get('id'), form.action) 
    for control in form.controls: 
     print ' ', control.type, control.name, repr(control.value) 

br.form['menu_dispatch_form'] = 'Washington, DC, United States' 
br.submit() 

我得到這個錯誤:

Traceback (most recent call last): 
    File "Trip cost calculator/trip costs calculator.py", line 50, in <module> 
    br.form['menu_dispatch_form'] = 'Washington, DC, United States' 
TypeError: 'NoneType' object does not support item assignment 

有沒有形式的名字,但我想我可以用表格ID而不是。我發現這個website這是有幫助的,但不像他們的例子,我沒有任何text投入br.form[]。任何人都知道發生了什麼事?

回答

1

你做錯了。您需要選擇一個form,然後纔可以將值分配給表單控件。

你有menu_dispatch_form?然後使用br.select_form("menu_dispatch_form")選擇表單。要將數據添加到表單,您應該將值分配給表單控件。 Thisthis應該幫助您找到並分配值以形成控件。

相關問題