mechanize python click a button

button, mechanize, python

Solution

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.

Problem

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.

Original source