Docs/SDK/Python

Python SDK

Browser session + snapshots + selector DSL + real actions.

Core loop: snapshot → decide → act. The SDK collects coarse geometry locally (extension) and refines/ranks via /v1/snapshot.
  • snapshot(browser, ...): returns a compact element list + metadata
  • find/query(snapshot, selector): selector DSL over refined elements
  • click(...): uses real mouse events by default
from sentience import SentienceBrowser, snapshot, find, query, click

with SentienceBrowser(api_key="sk_live_…") as b:
    b.page.goto("https://example.com")

    # Collect + refine
    snap = snapshot(
        b,
        limit=50,
        filter={"min_area": 100, "allowed_roles": ["button", "textbox"]},
    )

    # Selector DSL
    login = find(snap, "role=button text~'Sign in'")
    click(b, login.id)

    # Multi-match
    inputs = query(snap, "role=textbox")
    print(len(inputs))