使用Python Mechanize上传文件

时间:2009-08-19 13:15:20

标签: python file forms upload mechanize

当我运行以下脚本时:

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表单进行交互以上传文件?

理查德

2 个答案:

答案 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.

>>>