#!/usr/bin/env python3
"""Take a screenshot of a URL after JS loads"""
import sys
import asyncio
from playwright.async_api import async_playwright

URL = sys.argv[1] if len(sys.argv) > 1 else "https://nomorechores.launch27.com/admin/"
OUT = sys.argv[2] if len(sys.argv) > 2 else "/Users/harvey/.openclaw/workspace/l27-screenshot.png"

async def snap():
    async with async_playwright() as p:
        browser = await p.chromium.launch(headless=True)
        page = await browser.new_page()
        page.set_default_timeout(30000)
        await page.goto(URL, wait_until="networkidle")
        await page.wait_for_timeout(3000)
        print(f"Final URL: {page.url}")
        content = await page.content()
        # Print visible text
        text = await page.evaluate("() => document.body.innerText")
        print("Page text (first 500 chars):", text[:500])
        await page.screenshot(path=OUT, full_page=True)
        print(f"Screenshot saved to: {OUT}")
        await browser.close()

asyncio.run(snap())
