← back to Nationalrealestate
cap_search.cjs
25 lines
const { chromium } = require('playwright');
(async () => {
const url = process.argv[2] || 'https://corkwallcovering.com/';
const q = process.argv[3] || 'blue';
const out = process.argv[4] || '/tmp/search-proof.png';
const b = await chromium.launch();
const page = await b.newPage({ viewport: { width: 1200, height: 900 } });
await page.goto(url, { waitUntil: 'domcontentloaded', timeout: 30000 });
await page.waitForTimeout(1200); // let corner-nav.js inject
// open the search panel
await page.click('#cnav-search', { timeout: 8000 });
await page.waitForTimeout(400);
await page.click('#cnav-search-input');
await page.type('#cnav-search-input', q, { delay: 90 }); // simulate typing
// wait for live preview rows to render
await page.waitForSelector('a.cnav-res', { timeout: 8000 });
await page.waitForTimeout(600);
const n = await page.$$eval('a.cnav-res', els => els.length);
const firstTitle = await page.$eval('a.cnav-res .cnav-res-t', el => el.textContent).catch(()=> '');
console.log('site:', url, '| query:', q, '| preview rows:', n, '| first:', firstTitle);
await page.screenshot({ path: out });
console.log('screenshot:', out);
await b.close();
})().catch(e => { console.error('ERR', e.message); process.exit(1); });