upload de arquivo com Python Mecanizar
Pergunta
Quando eu execute o seguinte script:
from mechanize import Browser
br = Browser()
br.open(url)
br.select_form(name="edit_form")
br['file'] = 'file.txt'
br.submit()
eu recebo: ValueError: atributo valor é somente leitura
E eu ainda obter o mesmo erro quando eu adiciono:
br.form.set_all_readonly(False)
Então, como posso usar Python Mecanizar para interagir com um formulário HTML para fazer upload de um arquivo?
Richard
Solução
Esta é a forma de fazê-lo corretamente com Mecanizar:
br.form.add_file(open(filename), 'text/plain', filename)
Outras dicas
twill
é construído sobre mechanize
e faz web scripting formas uma brisa. Consulte -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.
>>>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow