Is it possible to control a web browser like Firefox using Python? 
I would want to do things like 

launch the browser
force clicks on URLs
take screenshots 

etc.
Depends what do you actually want to achieve. If you need to do some automatic stuff w/out user interference, you can just use underlying engine of the browser, like Gecko or WebKit, w/out loading browser itself. There are ready Python bindings to these engines available.
Browsers themself do not provide this kind of API to outside processes. For Firefox, you would need to inject some browser-side code into chrome, either as extension or plugin.
Controlling Browser using Python?