arsenic

Async WebDriver implementation for asyncio and asyncio-compatible frameworks

OTHER License

Downloads
31.9K
Stars
351

Async Webdriver

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.

Package Rankings
Top 3.72% on Pypi.org
Badges
Extracted from project README
CircleCI Documentation Status BrowserStack Status Appveyor status PyPI version Code style: black License Browserstack