загрузить файл с помощью Python Mechanize
Вопрос
Когда я запускаю следующий скрипт:
from mechanize import Browser
br = Browser()
br.open(url)
br.select_form(name="edit_form")
br['file'] = 'file.txt'
br.submit()
Я получил: Ошибка значения:Атрибут value доступен только для чтения
И я все еще получаю ту же ошибку, когда добавляю:
br.form.set_all_readonly(False)
Итак, как я могу использовать Python Mechanize для взаимодействия с HTML-формой для загрузки файла?
Ричард
Решение
Вот как это правильно сделать с помощью Mechanize:
br.form.add_file(open(filename), 'text/plain', filename)
Другие советы
twill
построен на mechanize
и упрощает создание сценариев для веб-форм.Видеть python-www-макрос.
>>> from twill import commands
>>> print commands.formfile.__doc__
>> formfile <form> <field> <filename> [ <content_type> ]
Upload a file via an "upload file" form field.
>>>
Не связан с StackOverflow