Selenium Python Bindings installieren

Mit Selenium können nicht nur Web-Anwendungen getestet werden, sondern mit den Python Bindings ist es auch möglich den Browser von der Konsole anzusteuern. In diesem Artikel wird gezeigt wie die Bindings installiert und verwendet werden.

In den folgenden Beispielen wird für die Installation eine mit Hilfe des virtualenvwrapper angelegte virtuelle Python Umgebung Namens selenium verwendet. Wie nachfolgend zu sehen gestaltet sich die Installation der Bindings mit dem Tool pip relativ einfach.

$ pip install selenium
Downloading/unpacking selenium
  Downloading selenium-2.41.0.tar.gz (2.5MB): 2.5MB downloaded
  Running setup.py (path:/home/user/.virtualenvs/selenium/build/selenium/setup.py) egg_info for package selenium

Installing collected packages: selenium
  Running setup.py install for selenium

Successfully installed selenium
Cleaning up...

Für einen ersten Test kann der interaktive Python-Interpreter verwendet werden.

$ python

Zunächst wird das webdriver Modul importiert.

>>> from selenium import webdriver

Anschließend wird der webdriver für den Firefox geladen. Worauf sich ein neues Firefox Fenster öffnen sollte. Ist der Firefox nicht installiert kann auch ein anderer Browser wie zum Beispiel Chrome/Chromium oder Opera verwendet werden.

>>> browser = webdriver.Firefox()

Das öffnen einer Seite erfolgt über einen einfachen Aufruf der get()-Funktion. Die aufgerufene Seite sollte daraufhin im Browser-Fenster erscheinen.

>>> browser.get("http://blog.dinotools.de")

Ist die Seite fertig geladen kann zum Beispiel der Titel abgefragt werden.

>>> browser.title
'DinoTools.de'

Es ist jedoch auch möglich umfangreichere Abfragen zu machen. So werden im folgenden Beispiel alle Links(a-Tags) abgefragt. Zu diesem Zeitpunkt befinden sich 41 Links auf der Seite. Anschließend wird der erste Link ausgewählt und angeklickt.

>>> links = browser.find_elements_by_tag_name("a")
>>> len(links)
41
>>> link = links[0]
>>> link.click()

Neben den hier gezeigten Möglichkeiten sind noch viele weitere denkbar. So können zum Beispiel auch Formulare ausgefüllt und abgeschickt oder Screenshots der Webseite erstellt werden.

Verwandte Artikel