8Context, auth, networkpower features
ctx = browser.new_context(viewport={"width":1280,"height":800},
user_agent="...", locale="en-US")★A context = an isolated browser session (own cookies/storage). Cheap — one per test/user.
ctx.storage_state(path="auth.json")
browser.new_context(storage_state="auth.json")★Log in once, reuse everywhere: save cookies/localStorage, then start future contexts already authenticated.
page.route("**/*.png", lambda r: r.abort()) # block images★Intercept/modify/mock network. route.fulfill(...) to stub an API response; block assets to speed up scraping.
page.evaluate("() => document.title") · page.on("dialog", ...)Run JS in the page; handle dialogs/downloads/new tabs (ctx.pages).