当我运行以下脚本时:
from mechanize import Browser
br = Browser()
br.open(url)
br.select_form(name="edit_form")
br['file'] = 'file.txt'
br.submit()
我得到: ValueError:value属性是readonly
我添加时仍然会出现同样的错误:
br.form.set_all_readonly(False)
那么,我如何使用Python Mechanize与HTML表单进行交互以上传文件?
理查德
答案 0 :(得分:14)
这是使用Mechanize正确完成的方法:
br.form.add_file(open(filename), 'text/plain', filename)
答案 1 :(得分:2)
twill
建立在mechanize
之上,使脚本网络表单变得轻而易举。请参阅python-www-macro。
>>> from twill import commands
>>> print commands.formfile.__doc__
>> formfile <form> <field> <filename> [ <content_type> ]
Upload a file via an "upload file" form field.
>>>