upload file with Python Mechanize
Question
When I run the following script:
from mechanize import Browser
br = Browser()
br.open(url)
br.select_form(name="edit_form")
br['file'] = 'file.txt'
br.submit()
I get: ValueError: value attribute is readonly
And I still get the same error when I add:
br.form.set_all_readonly(False)
So, how can I use Python Mechanize to interact with a HTML form to upload a file?
Richard
Solution
This is how to do it properly with Mechanize:
br.form.add_file(open(filename), 'text/plain', filename)
OTHER TIPS
twill
is built on mechanize
and makes scripting web forms a breeze. See 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.
>>>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow