const { chromium } = require('playwright'); (async () => { const browser = await chromium.launch({ headless: true, executablePath: 'C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe' }); const page = await browser.newPage({ viewport: { width: 1365, height: 900 } }); const errors = []; page.on('pageerror', error => errors.push(error.message)); await page.goto('http://127.0.0.1:8931/AI%E5%BF%AB%E9%80%9F%E6%8A%A5%E4%BB%B7_Demo2.html?v=return-rule-test', { waitUntil: 'load' }); await page.evaluate(() => { window.qRenderStep2 = function(){}; state.currentQuoteId = null; switchView('editor'); state.currentStep = 2; switchView('rules'); }); const before = await page.evaluate(() => ({ view: state.currentView, rememberedStep: state._editorReturnContext && state._editorReturnContext.step, label: document.querySelector('#view-rules .page-back-btn').textContent.trim(), display: getComputedStyle(document.querySelector('#view-rules .page-back-btn')).display })); await page.locator('#view-rules .page-back-btn').click(); const after = await page.evaluate(() => ({ view: state.currentView, step: state.currentStep, editorVisible: !document.getElementById('view-editor').classList.contains('hidden') })); console.log(JSON.stringify({ before, after, errors })); await browser.close(); })().catch(error => { console.error(error); process.exit(1); });