const { chromium } = require('playwright'); (async () => { const browser = await chromium.launch({ headless: true }); const page = await (await browser.newContext({viewport:{width:1280,height:900}})).newPage(); const logs = []; page.on('console', m => logs.push(m.text())); await page.goto('http://127.0.0.1:8099/buy-service/1/ministore', { waitUntil: 'load' }).catch(()=>{}); await page.waitForTimeout(7000); const stack = logs.filter(l => l.startsWith('CK_STACK')); if (stack.length) { // 找 .dart 源文件帧(非 main.dart.js) const dartFrames = stack[0].split('\n').filter(l => l.includes('.dart') && !l.includes('main.dart.js')); console.log('源文件帧:', dartFrames.length ? dartFrames.slice(0,5).join('\n ') : '(无,全是 main.dart.js)'); // 也看前 3 个 main.dart.js 帧 const jsFrames = stack[0].split('\n').filter(l => l.includes('main.dart.js')).slice(0,4); console.log('main.dart.js 帧:', jsFrames.join('\n ')); } await browser.close(); })();