Pregunta

Al ejecutar el siguiente script:

from mechanize import Browser
br = Browser()
br.open(url)
br.select_form(name="edit_form")
br['file'] = 'file.txt'
br.submit()

Puedo obtener: ValueError: atributo de valor es de sólo lectura

Y sigo teniendo el mismo error cuando agrego:

br.form.set_all_readonly(False)

Así que, ¿cómo puedo usar Python Mechanize para interactuar con un formulario HTML para cargar un archivo?

Richard

¿Fue útil?

Solución

Esta es la forma de hacerlo correctamente con Mechanize:

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

Otros consejos

twill se construye en mechanize y hace de scripting web forma una brisa. Ver pitón-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 bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top