```python from playwright.async_api import async_playwright as aP from db import DB import xvfbwrapper, io, PIL.Image, os async def Page(browser='chromium', headless=True): if headless: xvfbwrapper.Xvfb().start() else: os.environ['DISPLAY'] = ':0' db = DB() playwright = await aP().start() browser = await getattr(playwright, browser).launch(headless=False) context = await browser.new_context(accept_downloads=True) context.set_default_timeout(0) async def handle_request(route): url = route.request.url if body := db[url]: return await route.fulfill(body=body) if response := await route.continue_(): if response.ok and not db.exists(url): db[url] = await response.body() await route.fulfill(response=response) await context.route('**/*', handle_request) for block in ['**/*.gif', '**/css*.js']: await context.route(block, lambda route: route.abort()) return await context.new_page() ```