mirror of
https://github.com/Ark0N/Codeman.git
synced 2026-09-30 12:39:42 +02:00
49 lines
1.5 KiB
JavaScript
49 lines
1.5 KiB
JavaScript
import { chromium } from 'playwright';
|
|
|
|
const browser = await chromium.launch({ headless: true });
|
|
const page = await browser.newPage({ viewport: { width: 1400, height: 900 } });
|
|
|
|
await page.goto('http://localhost:3099', { waitUntil: 'domcontentloaded' });
|
|
await page.waitForTimeout(6000);
|
|
|
|
const firstTab = page.locator('.session-tab').first();
|
|
await firstTab.click();
|
|
await page.waitForTimeout(5000);
|
|
|
|
const info = await page.evaluate(() => {
|
|
const term = window.app?.terminal;
|
|
if (!term) return { error: 'no app.terminal' };
|
|
|
|
const core = term._core;
|
|
const renderService = core?._renderService;
|
|
const dims = renderService?.dimensions;
|
|
|
|
if (!dims) return { error: 'no dimensions', hasCore: !!core, hasRenderService: !!renderService };
|
|
|
|
return {
|
|
css: {
|
|
cell: dims.css?.cell,
|
|
char: dims.css?.char,
|
|
canvas: dims.css?.canvas,
|
|
},
|
|
device: {
|
|
cell: dims.device?.cell,
|
|
char: dims.device?.char,
|
|
canvas: dims.device?.canvas,
|
|
},
|
|
topLevelKeys: Object.keys(dims),
|
|
cssKeys: dims.css ? Object.keys(dims.css) : [],
|
|
deviceKeys: dims.device ? Object.keys(dims.device) : [],
|
|
cssAllDetail: dims.css ? Object.fromEntries(
|
|
Object.entries(dims.css).map(([k, v]) => [k, v && typeof v === 'object' ? { ...v } : v])
|
|
) : null,
|
|
deviceAllDetail: dims.device ? Object.fromEntries(
|
|
Object.entries(dims.device).map(([k, v]) => [k, v && typeof v === 'object' ? { ...v } : v])
|
|
) : null,
|
|
dpr: window.devicePixelRatio,
|
|
};
|
|
});
|
|
|
|
console.log(JSON.stringify(info, null, 2));
|
|
await browser.close();
|