Welcome to arsenic’s documentation!


While this library is asynchronous, web drivers are not. You must call the APIs in sequence. The purpose of this library is to allow you to control multiple web drivers asynchronously or to use a web driver in the same thread as an asynchronous web server.

Arsenic is a library that allows you to control a web browser from async Python code. Use cases include testing of web applications, load testing, automating websites, web scraping or anything else you need a web browser for. It uses real web browsers using the Webdriver specification.

While it is built on top of aiohttp, it can be used from any asyncio-compatible framework, such as Tornado.

You can find the code of arsenic on Github and PyPI.


Indices and tables