#!/usr/bin/env python3 """ 详细检查登录流程 """ from playwright.sync_api import sync_playwright import time with sync_playwright() as p: browser = p.chromium.launch(headless=True) page = browser.new_page() # 监听控制台消息 console_messages = [] page.on('console', lambda msg: console_messages.append(f"{msg.type}: {msg.text}")) # 访问登录页面 page.goto("http://localhost:3002/login") page.wait_for_load_state("networkidle") print("当前URL:", page.url) print("\n尝试登录...") # 填写表单 page.fill('input[placeholder="请输入用户名"]', 'admin') page.fill('input[placeholder="请输入密码"]', 'admin123') # 点击登录 page.click('button:has-text("登录")') print("点击登录按钮") # 等待并检查URL变化 for i in range(10): time.sleep(1) current_url = page.url print(f" {i+1}秒后URL: {current_url}") if '/login' not in current_url: print(f"\n✅ 登录成功!跳转到: {current_url}") break # 检查localStorage token = page.evaluate("localStorage.getItem('token')") print(f"\nToken: {token[:50] if token else 'None'}...") # 打印控制台消息 print("\n控制台消息:") for msg in console_messages[-20:]: print(f" {msg}") # 截图 page.screenshot(path="/tmp/login_final.png") browser.close()