import { chromium } from 'playwright'; const browser = await chromium.launch({ headless: true }); const page = await browser.newPage(); await page.goto('http://localhost:5173'); await page.waitForTimeout(3000); await page.screenshot({ path: 'C:/work/chrka/myNote/tmp-screenshot.png' }); console.log('Screenshot saved.'); const historyEntries = await page.evaluate(async () => { return await new Promise((resolve) => { const req = indexedDB.open('ka-note'); req.onsuccess = (e) => { const db = e.target.result; const tx = db.transaction('historyEntries', 'readonly'); const all = tx.objectStore('historyEntries').getAll(); all.onsuccess = () => resolve( all.result .filter(r => r.text && r.text.includes('[')) .map(r => ({ id: r.id, text: r.text })) ); }; req.onerror = () => resolve([]); }); }); console.log('=== historyEntries ==='); console.log(JSON.stringify(historyEntries, null, 2)); const tasks = await page.evaluate(async () => { return await new Promise((resolve) => { const req = indexedDB.open('ka-note'); req.onsuccess = (e) => { const db = e.target.result; if (!db.objectStoreNames.contains('tasks')) { resolve({ error: 'no tasks store', stores: Array.from(db.objectStoreNames) }); return; } const tx = db.transaction('tasks', 'readonly'); const all = tx.objectStore('tasks').getAll(); all.onsuccess = () => resolve(all.result); all.onerror = () => resolve([]); }; req.onerror = () => resolve([]); }); }); console.log('=== tasks ==='); console.log(JSON.stringify(tasks, null, 2)); await browser.close();