Automating forms with the Mechanize module
The examples built so far work, but each form requires a fair amount of work and testing. This effort can be minimized by using Mechanize, which provides a high-level interface to interact with forms. Mechanize can be installed via pip
using this command:
pip install mechanize
Here is how to implement the previous population increase example with Mechanize:
>>> import mechanize >>> br = mechanize.Browser() >>> br.open(LOGIN_URL) >>> br.select_form(nr=0) >>> br['email'] = LOGIN_EMAIL >>> br['password'] = LOGIN_PASSWORD >>> response = br.submit() >>> br.open(COUNTRY_URL) >>> br.select_form(nr=0) >>> br['population'] = str(int(br['population']) + 1) >>> br.submit()
This code is much simpler than the previous example because we no longer need to manage cookies and the form inputs are easily accessible. This script first creates the Mechanize browser object...