const pwPath = String.raw`C:\Users\12914\.cache\codex-runtimes\codex-primary-runtime\dependencies\node\node_modules\playwright-core`; const { chromium } = require(pwPath); const path = require('path'); const fs = require('fs'); const base = String.raw`C:\Users\12914\Desktop\vscode\login-templates\v3-mobile`; const out = path.join(base, 'screenshots'); if (!fs.existsSync(out)) fs.mkdirSync(out, {recursive: true}); const file = 'file:///' + path.join(base, 'template4-fullscreen-dark.html').replace(/\\/g, '/'); (async () => { const browser = await chromium.launch({ headless: true }); const ctx = await browser.newContext({ viewport: { width: 390, height: 844 }, deviceScaleFactor: 2, }); const page = await ctx.newPage(); await page.goto(file, { waitUntil: 'networkidle', timeout: 15000 }); await page.waitForTimeout(1000); // 1. 默认:密码登录 await page.screenshot({ path: path.join(out, 't4-login-pwd.png'), fullPage: true }); console.log('OK: t4-login-pwd.png'); // 2. 手机验证码登录 await page.click('text=手机验证码'); await page.waitForTimeout(500); await page.screenshot({ path: path.join(out, 't4-login-phone.png'), fullPage: true }); console.log('OK: t4-login-phone.png'); // 3. 邮箱验证码登录 await page.click('text=邮箱验证码'); await page.waitForTimeout(500); await page.screenshot({ path: path.join(out, 't4-login-email.png'), fullPage: true }); console.log('OK: t4-login-email.png'); // 4. 注册页 - 手机 await page.click('text=立即注册'); await page.waitForTimeout(500); await page.screenshot({ path: path.join(out, 't4-reg-phone.png'), fullPage: true }); console.log('OK: t4-reg-phone.png'); // 5. 注册页 - 邮箱 await page.click('text=邮箱注册'); await page.waitForTimeout(500); await page.screenshot({ path: path.join(out, 't4-reg-email.png'), fullPage: true }); console.log('OK: t4-reg-email.png'); // 6. 找回密码 - 选择方式 await page.click('text=去登录'); await page.waitForTimeout(500); await page.click('text=忘记密码?'); await page.waitForTimeout(500); await page.screenshot({ path: path.join(out, 't4-forgot-method.png'), fullPage: true }); console.log('OK: t4-forgot-method.png'); // 7. 找回密码 - 手机方式表单 await page.click('text=通过手机找回'); await page.waitForTimeout(500); await page.screenshot({ path: path.join(out, 't4-forgot-phone.png'), fullPage: true }); console.log('OK: t4-forgot-phone.png'); await browser.close(); console.log('All done!'); })();