Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

mechanize python click a button

I have a form with <input type="button" name="submit" /> button and would like to be able to click it.

I have tried mech.form.click("submit") but that gives the following error:

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

mech.submit() also doesn't work since its type is button and not submit.

Any ideas? Thanks.

like image 448
nunos Avatar asked Nov 27 '09 00:11

nunos


1 Answers

clicking a type="button" in a pure html form does nothing. For it to do anything, there must be javascript involved.

And mechanize doesn't run javascript.

So your options are:

  • Read the javascript yourself and simulate with mechanize what it would be doing
  • Use spidermonkey to run the javascript code

I'd do the first one, since using spidermonkey seems hard and probably not worth it.

like image 129
nosklo Avatar answered Sep 22 '22 08:09

nosklo