49 lines
1.4 KiB
JavaScript
49 lines
1.4 KiB
JavaScript
|
|
#!/usr/bin/env bun
|
||
|
|
|
||
|
|
import { chromium } from "playwright";
|
||
|
|
|
||
|
|
const URL = "http://localhost:1999";
|
||
|
|
|
||
|
|
const browser = await chromium.launch({ headless: false });
|
||
|
|
const page = await browser.newPage();
|
||
|
|
|
||
|
|
const errors = [];
|
||
|
|
page.on('console', msg => {
|
||
|
|
if (msg.type() === 'error') {
|
||
|
|
errors.push(msg.text());
|
||
|
|
console.log(`❌ ERROR: ${msg.text()}`);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
page.on('pageerror', err => {
|
||
|
|
errors.push(err.message);
|
||
|
|
console.log(`❌ PAGE ERROR: ${err.message}`);
|
||
|
|
});
|
||
|
|
|
||
|
|
console.log("Loading page...");
|
||
|
|
await page.goto(URL);
|
||
|
|
await page.waitForTimeout(3000);
|
||
|
|
|
||
|
|
console.log("\n📊 Console errors:", errors.length);
|
||
|
|
|
||
|
|
const buttons = await page.evaluate(() => {
|
||
|
|
const action = document.querySelector('.action-bar');
|
||
|
|
return {
|
||
|
|
actionBarExists: !!action,
|
||
|
|
actionBarHTML: action ? action.innerHTML.substring(0, 200) : 'not found',
|
||
|
|
hamburger: !!document.querySelector('.hamburger-btn'),
|
||
|
|
lengthToggle: !!document.querySelector('#lengthToggle'),
|
||
|
|
logoToggle: !!document.querySelector('#logoToggle'),
|
||
|
|
themeToggle: !!document.querySelector('#themeToggle'),
|
||
|
|
pdfBtn: !!document.querySelector('.pdf-btn'),
|
||
|
|
printBtn: !!document.querySelector('.print-btn')
|
||
|
|
};
|
||
|
|
});
|
||
|
|
|
||
|
|
console.log("\n🔘 Buttons:", buttons);
|
||
|
|
|
||
|
|
console.log("\n✅ NO PARSE ERRORS - Waiting for manual inspection...");
|
||
|
|
console.log("Press Ctrl+C when done");
|
||
|
|
|
||
|
|
await new Promise(() => {}); // Wait forever
|