When working with Notte sessions, you have two ways to interact with the browser: using Playwright directly via CDP, or using Notte’s AI-enabled SDK methods. Both approaches work with the same session, and you can even mix them in your automation.Documentation Index
Fetch the complete documentation index at: https://docs.notte.cc/llms.txt
Use this file to discover all available pages before exploring further.
Direct Playwright Control
When you accesssession.page, you get a Playwright-compatible page object that connects directly to the browser via Chrome DevTools Protocol:
playwright_direct.py
Notte SDK Methods
Notte provides high-level methods designed for AI agents and structured automation:notte_sdk_methods.py
Key Differences
| Feature | Playwright (session.page) | Notte SDK (execute/observe/scrape) |
|---|---|---|
| API Surface | Full Playwright API | Streamlined action-based API |
| Dependencies | Requires playwright package | Just notte-sdk |
| Element Selection | Manual CSS/XPath selectors | AI-powered natural language + selectors |
| Page Understanding | Manual interpretation | AI describes page with observe() |
| Data Extraction | Manual parsing | Structured LLM-powered scrape() |
| Observability | Manual logging | Session replay, action recording, live viewer |
| Error Handling | Manual try/except | Automatic retries and validation |
| Network Control | ✅ Intercept, modify requests | ❌ Not available |
| Latency | Lower (WebSocket) | Higher (HTTP API) |
| Action Coverage | Everything | Everything via extensive action library |
Why Use Playwright?
Choosesession.page when you need:
- Network control - Intercept, block, or modify requests and responses
- Event monitoring - Listen to console logs, network events, page errors
- Lowest latency - Direct WebSocket communication for high-speed operations
- Standard patterns - Use familiar Playwright code and examples
- Fine-grained control - Access to every Playwright feature
Why Use Notte SDK?
Choosesession.execute(), observe(), and scrape() when you need:
- AI-powered automation - Let AI find elements and understand pages
- Structured data extraction - Extract data into Pydantic models automatically
- Built-in observability - Session replays, trajectory tracking, live viewer
- Simpler API - Smaller learning curve, no Playwright knowledge required
- Production reliability - Automatic retries, error handling, validation
- Agent workflows - Designed for AI agents with semantic action spaces
Mix Both Approaches
You can combine both methods in the same session:When to Choose What
Use Playwright if:
- You need network interception or request modification
- You’re integrating existing Playwright scripts
- Performance is critical (milliseconds matter)
- You need to listen to browser events
Use Notte SDK if:
- Building AI agents that understand web pages
- You want structured data extraction
- You need session replay and debugging features
- You prefer simpler, action-based API
- Building production systems with error handling
Use Both if:
- You need network control AND AI features
- Complex workflows with different requirements
- You want the flexibility of both approaches
Next Steps
Connect with Playwright
Learn how to use Playwright with Notte sessions
Session Configuration
Configure sessions with advanced options
Actions Reference
Explore all available Notte actions
Recordings
Debug with session replays

