https://github.com/hennge/arsenic
Async WebDriver implementation for asyncio and asyncio-compatible frameworks
https://github.com/hennge/arsenic
aiohttp async async-webdriver asyncio browserstack chrome firefox internet-explorer-11 phantomjs python36 testing tornado twisted webdriver windows-10
Last synced: about 1 month ago
JSON representation
Async WebDriver implementation for asyncio and asyncio-compatible frameworks
- Host: GitHub
- URL: https://github.com/hennge/arsenic
- Owner: HENNGE
- License: other
- Created: 2017-04-25T08:00:30.000Z (about 8 years ago)
- Default Branch: main
- Last Pushed: 2024-04-04T11:08:25.000Z (about 1 year ago)
- Last Synced: 2025-04-05T08:06:10.428Z (about 1 month ago)
- Topics: aiohttp, async, async-webdriver, asyncio, browserstack, chrome, firefox, internet-explorer-11, phantomjs, python36, testing, tornado, twisted, webdriver, windows-10
- Language: Python
- Homepage:
- Size: 3.02 MB
- Stars: 358
- Watchers: 25
- Forks: 56
- Open Issues: 56
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Async Webdriver
[](https://circleci.com/gh/HDE/arsenic/tree/main) [](http://arsenic.readthedocs.io/en/latest/?badge=latest)
[](https://automate.browserstack.com/public-build/QmtNVHFnWWRFSEVUdTBZNWU5NGMraVorWVltazFqRk1VNWRydW5FRXU2dz0tLVhoTlFuK2tZUTJ1UGx0UmZaWjg4R1E9PQ==--35ef3d28fbf8ea24ee7fa2a435f9271fbaaf85d4)
[](https://ci.appveyor.com/project/ojii/arsenic)
[](https://badge.fury.io/py/arsenic)
[](https://github.com/ambv/black)
[](https://opensource.org/licenses/Apache-2.0)Asynchronous webdriver client built on asyncio.
## Quickstart
Let's run a local Firefox instance.
```python
from arsenic import get_session
from arsenic.browsers import Firefox
from arsenic.services import Geckodriverasync def example():
# Runs geckodriver and starts a firefox session
async with get_session(Geckodriver(), Firefox()) as session:
# go to example.com
await session.get('http://example.com')
# wait up to 5 seconds to get the h1 element from the page
h1 = await session.wait_for_element(5, 'h1')
# print the text of the h1 element
print(await h1.get_text())
```For more information, check [the documentation](https://arsenic.readthedocs.io/)
## CI Supported by Browserstack
Continuous integration for certain browsers is generously provided by [Browserstack](http://browserstack.com).
[](http://browserstack.com/)