我正在尝试使用机械化提交表单,但遇到了错误(TypeError:ListControl,必须设置顺序)。在谷歌搜索了一段时间并尝试了几种不同的解决方案后,我无法解决该问题。我正在尝试提交所有字段。
通过机械化获取的表单数据(对于br.forms()打印中的f:f)
<POST http://www.example.com/takeupload.php multipart/form-data <HiddenControl(MAX_FILE_SIZE=1000000) (readonly)> <TextControl(<None>=http://www.example.com:81/test.php?pass=550) (readonly)> <FileControl(file=<No files added>)> <TextControl(name=)> <SelectControl(type=[*0, 23, 22, 1, 10, 7, 18, 4, 21, 56, 20, 60, 5, 19, 6, 55, 63, 9])> <CheckboxControl(strip=[strip])> <FileControl(nfo=<No files added>)> <TextareaControl(descr=)> <SubmitControl(<None>=Do it!) (readonly)>>
我当前的代码
br.open('http://www.bitfarm.co.za/upload.php') br.select_form(nr=4) filename = 'test.torrent' br.form.add_file(open(filename), 'application/x-bittorrent', filename, name='file') br.form['name'] = 'test' br.form['type'] = '22' br.form['strip'] = '0' br.form['nfo'] = '' br.form['descr'] = 'This is the desc' br.submit()
请您协助并检查我是否为表单选项使用了正确的语法。谢谢
type栏位会要求您提供整数清单,但您只提供一个整数。 更改此:
type
br.form['type'] = '22'
对此:
br.form['type'] = ['22',]