Skip to content
Programmatic web browsing module with AJAX support for Python
Python JavaScript Shell
Find file
Latest commit 88f45bf @kiorky kiorky Merge pull request #71 from spidermachine/master
add method to set the attribute of or off with the QWebPage



Spynner is a stateful programmatic web browser module for Python. It is based upon PyQT and WebKit. It supports Javascript, AJAX, and every other technology that !WebKit is able to handle (Flash, SVG, ...). Spynner takes advantage of JQuery. a powerful Javascript library that makes the interaction with pages and event simulation really easy.

Using Spynner you would able to simulate a web browser with no GUI (though a browsing window can be opened for debugging purposes), so it may be used to implement crawlers or acceptance testing tools.

See usage on: Or below if the section is preset







  • Python >=26
  • PyQt > 443
  • Libxml2 / Libxslt libraries and includes files for lxml
  • autopy which in turns need xtst lib & headers on linux (aka Xtest)


Open an Issue to report a bug or request a new feature. Other comments and suggestions can be directly emailed to the authors.


  • Throught regular easy_install / buildout:

    easy_install spynner

    (In Windows, you may have to install autopy through its installer at

  • The bleeding edge version is hosted on github:

    git clone
    cd spynner
    python install

Running Spynner without X11

  • Spynner needs a X11 server to run. If you are running it in a server without X11. You must install the virtual Xvfb server. Debian users can use the small wrapper (xvfb-run). If you are not using Debian, you can download it here:

    xvfb-run python
  • You can also use tightvnc, which is the solution of the actual maintainer [kiorky].

Something went wrong with that request. Please try again.