在類似的post問一個關於將表單值從[開]改爲不開的問題,這個問題只是設置了'True'和'False'的值使用機械化)。scrapy FormRequest True/False on /'off'Checked Boxes
這將如何在scrapy FormRequest.from_response
中完成?
編輯
例如,使用機械化獲取形式信息,
這是自帶的網頁形式的默認。
默認情況下,在表格上的一切檢查:
<CheckboxControl(ac=[*on])>
type=checkbox, name=ac value=['on']
<CheckboxControl(<None>=[*on])>
type=checkbox, name=None value=[]
<TextControl(p=)>
type=text, name=p value=
<CheckboxControl(pr[]=[*0, *1, *2])>
type=checkbox, name=pr[] value=['0', '1', '2']
<CheckboxControl(a[]=[*0, *1, *2, *3, *4])>
type=checkbox, name=a[] value=['0', '1', '2', '3', '4']
<CheckboxControl(pl=[*on])>
type=checkbox, name=pl value=['on']
<CheckboxControl(sp[]=[*1, *2, *3])>
type=checkbox, name=sp[] value=['1', '2', '3']
<SelectControl(pp=[0, 1, *2, 3])>
type=select, name=pp value=['2']
注意 '交流', '<None>
' 和 'PL'。
他們有[*上]的值
的目標是將其「關閉」(?)(取消他們)
FormRequest.from_response(response, formnumber=0, formdata={'pr[]': '2', 'sp[]': '3', 'pp': '3', 'a[]': ['3', '4']}))
這將返回一個形式每FORMDATA修改後的盒子。 尚未檢查formdata中提及的那些鍵。
按照以上職位的例子:
FormRequest.from_response(response, formdata={'live': 'False'})
我也做了FormRequest具有多種價值: '假', '真', '',[ ''], '上', '關'和'無',但似乎無法得到正確的迴應。
有什麼建議嗎?
編輯:
有嘗試:
FormRequest(url, formdata = {'pl': 'False'}, callback=parse_this)
FormRequest(url, formdata = {'pl': 'off'}, callback=parse_this)
FormRequest(url, formdata = {'pl': ''}, callback=parse_this)
FormRequest(url, formdata = {'pl': 'None'}, callback=parse_this)
FormRequest(url, formdata = {'pl': None}, callback=parse_this)
FormRequest.from_response(response, formdata = {'pl': 'False'})
FormRequest.from_response(response, formdata = {'pl': 'off'})
FormRequest.from_response(response, formdata = {'pl': '')
默認情況下,該網頁提供了包含已選中的複選框的形式。目標是提交表單和'關閉'一些複選框,只有兩個選項:'開'/'關'
是不是一個複選框發送''字符串''或'字符串'關''? – 2012-07-10 14:00:47
@Sjaak Trekhaak:這就是我的想法,但FormRequest.from_response一直拋出一個錯誤。 – user1460015 2012-07-10 19:44:18