Controlling Browser using Python?

browser, python, webbrowser-control

Solution

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.

Problem

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.

Original source

Related problems