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.
解决方案
Selenium Remote Control is a project that comes very close to what you are after. It is really easy to get working in Python with the selenium.webdriver subpackage that comes with it. Once upon a time, these were two projects. They've now been unified.
Installation
Simple!
$ pip install -U selenium
Usage
>>> from selenium import webdriver
>>> ff = webdriver.Firefox()
>>> ff.get("http://stackoverflow.com/q/3369073/395287")
>>> ff.save_screenshot("/absolute/path/to/webpage.png')
Notes
The documentation can be slightly confusing for Selenium, because there are two modes to interact with browsers. As well as the webdriver mode, there is the ability to talk to a "standalone Selenium Remote Control server". That approach is what is documented first in the official documentation, but I would stick with webdriver for the simple task here.