Механизм Python: Отправка формы с файлом (изображением)? - PullRequest
2 голосов
/ 30 января 2011

Есть форма со следующим элементом управления (это элемент управления загрузкой изображений)

<FileControl(profile_image=<No files added>)>

Что я должен положить в "??????????":

br = mechanize.Browser()
br.open(mywebsite)
br.select_form(nr=1)
br.form['profile_image'] = ??????????
br.submit()

Я пытался

   br.form['profile_image'] = open("img.jpg")

, но получаю ошибку

  File "/usr/local/lib/python2.6/dist-packages/mechanize-0.2.4-py2.6.egg/mechanize/_form.py", line 2784, in __setitem__
    raise ValueError(str(e))
ValueError: value attribute is readonly

1 Ответ

6 голосов
/ 30 января 2011

Сделайте это:

br.form.add_file(open(FILENAME), 'text/plain', FILENAME)
br.form.set_all_readonly(False)
...