/arsenic

Async WebDriver implementation for asyncio and asyncio-compatible frameworks

Primary LanguagePythonOtherNOASSERTION

Async Webdriver

CircleCI Documentation Status BrowserStack Status Appveyor status PyPI version Code style: black License

Asynchronous webdriver client built on asyncio.

Quickstart

Let's run a local Firefox instance.

from arsenic import get_session
from arsenic.browsers import Firefox
from arsenic.services import Geckodriver


async 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

CI Supported by Browserstack

Continuous integration for certain browsers is generously provided by Browserstack.

Browserstack