2009-08-19 5 views
8

Когда я запускаю следующий сценарий:загрузить файл с Python Mechanize

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 для загрузки файла?

Ричард

+0

это может быть глупо, но делает file.txt существуют в рабочем каталоге вашего сценария? – Geo

+0

yep (ограничение 15 символов) – hoju

ответ

13

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

br.form.add_file(open(filename), 'text/plain', filename) 
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. 

>>> 
Смежные вопросы