import { chromium } from 'playwright'; const browser = await chromium.launch(); const page = await browser.newPage({ viewport: { width: 1180, height: 820 } }); page.on('console', (m) => console.log('[console]', m.type(), m.text())); page.on('pageerror', (e) => console.log('[pageerror]', e.message)); await page.goto('http://localhost:8099', { waitUntil: 'networkidle' }); await page.getByRole('button', { name: 'PFD', exact: true }).click(); await page.waitForTimeout(5000); // report canvas presence + size const info = await page.evaluate(() => { const c = document.querySelector('.svt-canvas canvas'); const f = document.querySelector('.svt-pos'); return { hasCanvas: !!c, canvasSize: c ? [c.width, c.height] : null, svtPos: f ? f.getBoundingClientRect() : null, webgl: (() => { try { return !!document.createElement('canvas').getContext('webgl2'); } catch { return false; } })(), }; }); console.log('[info]', JSON.stringify(info)); await browser.close();