2009-11-27 68 views
12

Tengo un formulario con el botón <input type="button" name="submit" /> y me gustaría poder hacer clic en él.mecanizar Python haga clic en un botón

me han tratado mech.form.click("submit") pero que da el siguiente error:

ControlNotFoundError: no control matching kind 'clickable', id 'submit'

mech.submit() también no funciona ya que su tipo es botón y se somete.

¿Alguna idea? Gracias.

Respuesta

21

haciendo clic en type="button" en un formulario html puro no hace nada. Para que pueda hacer algo, debe haber javascript involucrado.

Y mechanize no ejecuta javascript.

Así que sus opciones son:

  • Lea el javascript mismo y simular con mechanize lo que estaría haciendo
  • Uso spidermonkey para ejecutar el código JavaScript

lo haría el primer uno, ya que usar spidermonkey parece difícil y probablemente no valga la pena.

+1

Esto fue hace mucho tiempo, pero ¿qué quiere decir con "estimular con mecanizar"? –

+0

@nosklo sí .. pregunta sames aquí ... ¿cómo se simula javascript con mechanice? – waas1919

+1

@ waas1919 tienes que leer el código de JavaScript y entender lo que hace. Por ejemplo, si el código de JavaScript envía el formulario a una dirección diferente, entonces usted escribe el código de Python para hacerlo manualmente. Si el código de JavaScript cambia el valor de algún campo, entonces debe hacer el cambio a mano en su código de Python. – nosklo

Cuestiones relacionadas