# WABot — Web Automator Bot Stateful Selenium browser automation for Python. Model pages as classes, drive them through one facade, and — the flagship — keep the browser alive after your process exits so another Python process can pick it up by name. ```python import wabot bot = wabot.browser(session="scraper1", browser="firefox") bot.driver.get("https://example.com/login") # ... log in; process exits; browser stays open ... # a different process, later: bot = wabot.browser(session="scraper1", browser="firefox") # reattaches ``` Human-like pacing (random delays, randomized click positions) is on by default; pass `pacing=wabot.NoPacing()` for full speed. ## Development ```bash uv sync # install everything uv run pytest # unit tests (fast, no browsers) uv run pytest -m integration # real headless-browser tests uv run ruff check . && uv run ruff format --check . uv run sphinx-build -M html docs docs/_build # docs ``` Docs: quickstart, persistent-sessions guide, and API reference under `docs/` (build locally with the command above).