загрузить файл с Python механизировать


Когда я запускаю следующий скрипт:

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 Mechanize для взаимодействия с HTML-формой для загрузки файла?

Ричард

2 9

2 ответа:

Вот как это правильно сделать с Mechanize:

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

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.

>>>