← back to Marketing Command Center
scripts/probe-403.js
17 lines
const { chromium } = require('playwright');
const BASE='https://marketing.designerwallcoverings.com';
(async()=>{
const b=await chromium.launch();
const ctx=await b.newContext({viewport:{width:1600,height:900},httpCredentials:{username:'admin',password:'DW2024!'}});
const page=await ctx.newPage();
const bad=[];
page.on('response',r=>{if(r.status()>=400)bad.push(r.status()+' '+r.url());});
await page.goto(BASE+'/',{waitUntil:'domcontentloaded'});
await page.evaluate(()=>location.hash='board'); await page.waitForTimeout(5000);
// list broken img srcs directly from DOM
const broken=await page.evaluate(()=>[...document.querySelectorAll('.bd-card img')].filter(i=>i.complete&&i.naturalWidth===0&&i.getAttribute('src')).map(i=>i.getAttribute('src')).slice(0,6));
console.log('BROKEN <img> srcs on Streams Board:'); broken.forEach(s=>console.log(' '+s));
console.log('\nALL >=400 responses:'); [...new Set(bad)].forEach(x=>console.log(' '+x));
await ctx.close(); await b.close();
})().catch(e=>{console.error(e);process.exit(1);});