当我运行下面的脚本:

from mechanize import Browser
br = Browser()
br.open(url)
br.select_form(name="edit_form")
br['file'] = 'file.txt'
br.submit()

我得到: ValueError异常:value属性是只读

和我仍然得到同样的错误,当我补充一下:

br.form.set_all_readonly(False)

那么,如何可以使用Python机械化与HTML表单交互上传的文件?

理查德

有帮助吗?

解决方案

这是如何与机械化做正确:

br.form.add_file(open(filename), 'text/plain', filename)

其他提示

twill 是建立在mechanize并且使得脚本幅形成一件轻而易举的。请参阅蟒WWW的宏

>>> from twill import commands
>>> print commands.formfile.__doc__

>> formfile <form> <field> <filename> [ <content_type> ]

Upload a file via an "upload file" form field.

>>> 
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top