Así que comencé con Mechanize, y aparentemente lo primero que probé fue un sitio navegado con alto JavaScript mono-rinoceronte.Presentar sin el uso de un botón de enviar, Mecanizar
Ahora, lo que me ha impedido es enviar el formulario.
Normalmente haré un envío utilizando la función incorporada Mechanize de submit().
import mechanize
browser = mechanize.Browser()
browser.select_form(name = 'foo')
browser.form['bar'] = 'baz'
browser.submit()
De esta manera se utilizaría el botón de enviar que está disponible en el formulario HTML.
Sin embargo, el sitio en el que estoy atascado tenía que ser uno que no utiliza botones de envío de HTML ... No, intentan ser gurús de JavaScript y hacen un envío mediante JavaScript.
El envío habitual() no parece funcionar con esto.
Entonces ... ¿Hay alguna forma de evitar esto?
Cualquier ayuda es apreciada. ¡Muchas gracias!
- [Editar] -
La función de JavaScript que estoy atascado en:
function foo(bar, baz) {
var qux = document.forms["qux"];
qux.bar.value = bar.split("$").join(":");
qux.baz.value = baz;
qux.submit();
}
Lo que hice en Python (y lo que no funciona):
def foo(browser, bar, baz):
qux = browser.select_form("qux")
browser.form[bar] = ":".join(bar.split("$"))
browser.form[baz] = baz
browser.submit()