const { chromium } = require('playwright-core'); const fs = require('fs'); (async () => { const CHROME = String.raw`C:\Program Files\Google\Chrome\Application\chrome.exe`; const src = fs.readFileSync('src/utils/animationTemplates.ts','utf8'); const start = src.indexOf('const probability'); const end = src.indexOf('// ===== 21', start); const block = src.slice(start, end); const m = block.match(/return SHELL\('概率模拟',\s*'',\s*`([\s\S]*?)`\s*\);\s*\}/); if (!m) { console.log('no match'); process.exit(1); } let script = m[1]; script = script.split('${typ}').join('coin'); script = script.split('${per}').join('20'); const html = '
'; fs.writeFileSync('../audit_shots/_prob_isolated.html', html); const browser = await chromium.launch({ executablePath: CHROME, headless: true }); const page = await browser.newPage(); page.on('pageerror', e => console.log('PAGEERROR:', e.message)); page.on('console', msg => { if(msg.type()==='error') console.log('CONSOLE:', msg.text()); }); await page.goto('file:///D:/AI/jiaoyu/audit_shots/_prob_isolated.html'); await page.waitForTimeout(1500); await page.screenshot({ path: '../audit_shots/_prob_isolated.png' }); console.log('isolated test done'); await browser.close(); })();