""" Debug login flow with console log capture. """ from playwright.sync_api import sync_playwright BASE_URL = "http://localhost:80" with sync_playwright() as p: browser = p.chromium.launch(headless=True) page = browser.new_page(viewport={"width": 1440, "height": 900}) console_msgs = [] page.on("console", lambda msg: console_msgs.append(f"[{msg.type}] {msg.text}")) page.goto(f"{BASE_URL}/login", wait_until="networkidle", timeout=30000) page.wait_for_timeout(1000) page.locator('input[placeholder="用户名"]').fill("admin") page.locator('input[placeholder="密码"]').fill("admin123") page.locator('button:has-text("登")').click() page.wait_for_timeout(8000) print(f"URL after login click: {page.url}") page.screenshot(path="/tmp/crm-e2e-screenshots/login-after-click.png") errors = [m for m in console_msgs if "error" in m.lower() or "fail" in m.lower()] print(f"\nConsole errors ({len(errors)}):") for e in errors[:20]: print(f" {e[:200]}") print(f"\nAll console ({len(console_msgs)}):") for m in console_msgs[:30]: print(f" {m[:200]}") browser.close()