10

当我运行以下脚本时:

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

我得到:ValueError:值属性是只读的

当我添加时,我仍然得到同样的错误:

br.form.set_all_readonly(False)

那么,如何使用 Python Mechanize 与 HTML 表单交互来上传文件呢?

理查德

4

2 回答 2

17

这是使用机械化正确执行此操作的方法:

br.form.add_file(open(filename), 'text/plain', filename)
于 2009-08-20T12:30:32.427 回答
2

twill建立在基础之上mechanize,使编写 Web 表单的脚本变得轻而易举。请参阅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.

>>> 
于 2009-08-19T13:24:04.960 回答