const {chromium} = require('/home/ubuntu/.openclaw/workspace/node_modules/playwright'); (async()=>{ const browser = await chromium.launch({headless:true, args:['--no-sandbox']}); const page = await browser.newPage(); const reqs = []; page.on('request', req => { const url = req.url(); const notAssets = !url.includes('vtexassets') && !url.includes('analytics'); if (url.includes('public/graphql') && req.method() === 'GET' && notAssets) { reqs.push(url); } }); await page.goto('https://www.masonline.com.ar/promociones-bancarias?dia=jueves', {waitUntil:'networkidle', timeout:30000}).catch(()=>{}); await page.waitForTimeout(2000); console.log('Changomas GET public/graphql:', reqs.length); reqs.forEach((u,i) => { try { const parsed = new URL(u); const op = parsed.searchParams.get('operationName'); const vars = parsed.searchParams.get('variables') || ''; const varsDec = vars ? Buffer.from(vars, 'base64').toString() : ''; const ext = parsed.searchParams.get('extensions') || ''; let hash = ''; try { hash = JSON.parse(ext)?.persistedQuery?.sha256Hash?.slice(0,12); } catch {} console.log(i+1, op || 'no-op', '| hash:', hash, '| vars:', varsDec.slice(0,150)); } catch(e) { console.log(i+1, u.slice(0,100)); } }); await browser.close(); })().catch(e=>console.error(e));