Cookies provide a flexible way to authenticate your sessions in Notte. While we recommend using the secure vault for credential management, cookies offer an alternative approach that might be more convenient for certain use cases.
Here’s how to upload cookies to your Notte session:
upload_cookies.py
Copy
Ask AI
from notte_sdk import NotteClient# Upload cookies for github.com to automatically logincookies = [ dict( name="sb-db-auth-token", value="base64-cookie-value", domain="github.com", path="/", expires=9778363203.913704, httpOnly=False, secure=False, sameSite="Lax" )]# create a new sessionnotte = NotteClient()with notte.Session() as session: _ = session.set_cookies(cookies=cookies) # can also set cookie_file="path/to/cookies.json" # Use the cookies in your session agent = notte.Agent(session=session, max_steps=5) res = agent.run( task="go to nottelabs/notte get repo info. Fail if you are not logged in", url="https://github.com/nottelabs/notte", ) # or get the cookies from the session cookies_resp = session.get_cookies()
Here’s a step-by-step guide to extract cookies from your browser:
extract_cookies_local.py
Copy
Ask AI
import jsonfrom pathlib import Pathfrom patchright.sync_api import sync_playwrightcookie_path = Path("github_cookies.json")# Initialize Playwrightwith sync_playwright() as playwright: browser = playwright.chromium.launch(headless=False) context = browser.new_context() page = context.new_page() # Navigate to login page github_login_url = "https://github.com/login" page.goto(github_login_url) print("Please log into GitHub in the browser window...") input("Press Enter after you've logged in...") # Save cookies to file print("Login successful. Saving cookies...") cookies = context.cookies(urls=["https://github.com"]) if cookies: cookie_path.write_text(json.dumps(cookies, indent=4)) print(f"Cookies saved to {cookie_path}") else: print("No cookies found to save.")
Of course, you can also get them from your Notte session:
extract_cookies_notte.py
Copy
Ask AI
from notte_sdk import NotteClientimport jsonnotte = NotteClient()with notte.Session() as session: # Observe the state of a webpage obs = session.observe(url="https://google.com/travel/flights") # Get and save cookies from the session with open("cookies.json", "w") as f: cookies = session.get_cookies() json.dump(cookies, f)