const puppeteer = require('puppeteer'); (async () => { console.log('启动浏览器...'); const browser = await puppeteer.launch({ headless: true, args: ['--no-sandbox', '--disable-setuid-sandbox'] }); const page = await browser.newPage(); page.on('console', msg => console.log('Browser console:', msg.text())); page.on('pageerror', error => console.log('Browser error:', error.message)); console.log('导航到登录页...'); await page.goto('http://127.0.0.1:5175/login', { waitUntil: 'networkidle0' }); await new Promise(r => setTimeout(r, 2000)); const title = await page.title(); console.log('页面标题:', title); await page.screenshot({ path: '/tmp/login-page.png' }); console.log('已截图: /tmp/login-page.png'); const usernameInput = await page.$('input'); console.log('找到输入框:', usernameInput ? '是' : '否'); if (usernameInput) { const inputs = await page.$$('input'); console.log('输入框数量:', inputs.length); if (inputs.length >= 2) { await inputs[0].type('admin'); await inputs[1].type('Admin@123'); await page.screenshot({ path: '/tmp/before-login.png' }); const buttons = await page.$$('button'); console.log('按钮数量:', buttons.length); for (let i = 0; i < buttons.length; i++) { const text = await buttons[i].textContent(); console.log(`按钮 ${i}:`, text.trim()); } if (buttons.length > 0) { await buttons[0].click(); await new Promise(r => setTimeout(r, 3000)); const url = page.url(); console.log('登录后URL:', url); await page.screenshot({ path: '/tmp/after-login.png' }); console.log('已截图: /tmp/after-login.png'); } } } await browser.close(); console.log('测试完成'); })();