const puppeteer = require('puppeteer-core'); const EDGE_PATH = 'C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe'; async function run() { console.log('Launching headless browser...'); const browser = await puppeteer.launch({ executablePath: EDGE_PATH, headless: 'new', args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-blink-features=AutomationControlled'] }); const page = await browser.newPage(); console.log('Navigating to Waze Live Map...'); await page.goto('https://www.waze.com/live-map/directions?lat=37.7749&lng=-122.4194', { waitUntil: 'networkidle2', timeout: 20000 }); console.log('Evaluating in-page Waze alerts fetch...'); const inPageResult = await page.evaluate(async () => { try { const res = await fetch('https://www.waze.com/live-map/api/georss?top=37.82&bottom=37.72&left=-122.48&right=-122.36&env=na&types=alerts', { headers: { 'Accept': 'application/json, text/plain, */*', } }); const data = await res.json(); return { status: res.status, alerts: data.alerts || [] }; } catch (e) { return { error: e.message }; } }); console.log('STATUS:', inPageResult.status); console.log('ALERTS FOUND:', inPageResult.alerts ? inPageResult.alerts.length : inPageResult.error); if (inPageResult.alerts && inPageResult.alerts.length > 0) { console.log('First 3 alerts:', JSON.stringify(inPageResult.alerts.slice(0, 3), null, 2)); } await browser.close(); } run().catch(console.error);