website globe: report, live check (desktop JS on/off, 376 px menu), R-903 (no-JS phone menu); 130 -> 131
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012qRErfCoiTkvDK9N5XHbzb
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
const puppeteer = require('puppeteer');
|
||||
const sleep = ms => new Promise(r => setTimeout(r, ms));
|
||||
async function items(p) {
|
||||
return p.$$eval('.lang-globe-item', as => as.map(a => ({text: a.textContent, href: a.getAttribute('href'), cur: a.getAttribute('aria-current'),
|
||||
vis: a.offsetParent !== null, r: (b => [Math.round(b.left), Math.round(b.right)])(a.getBoundingClientRect())})));
|
||||
}
|
||||
(async () => {
|
||||
const b = await puppeteer.launch({args: ['--no-sandbox']});
|
||||
for (const js of [true, false]) {
|
||||
for (const [w, h] of [[1280, 800], [376, 812]]) {
|
||||
for (const [u, tag] of [['https://felhom.eu/', 'hu'], ['https://felhom.eu/en/', 'en']]) {
|
||||
const p = await b.newPage();
|
||||
await p.setJavaScriptEnabled(js);
|
||||
await p.setViewport({width: w, height: h});
|
||||
await p.goto(u, {waitUntil: 'networkidle2', timeout: 60000});
|
||||
const name = `${tag}-${w}-${js ? 'js' : 'nojs'}`;
|
||||
const closed = await p.$eval('details.lang-globe', d => d.open);
|
||||
if (w < 900) {
|
||||
if (!js) { console.log(name, 'phone menu needs JavaScript (the three-line button is scripted); skipped'); await p.close(); continue; }
|
||||
await p.click('#hamburger'); await sleep(500);
|
||||
}
|
||||
await p.click('summary.lang-globe-btn'); await sleep(300);
|
||||
const open = await p.$eval('details.lang-globe', d => d.open);
|
||||
const it = await items(p);
|
||||
const scroll = await p.evaluate(() => [window.innerWidth, document.documentElement.scrollWidth]);
|
||||
await p.screenshot({path: `/out/${name}.png`});
|
||||
console.log(name, JSON.stringify({openBefore: closed, openAfterClick: open, items: it, viewport_scroll: scroll}));
|
||||
for (const i of it) {
|
||||
const q = await b.newPage(); await q.setJavaScriptEnabled(js);
|
||||
const r = await q.goto(new URL(i.href, u).href, {waitUntil: 'domcontentloaded'});
|
||||
console.log(' ', i.text, '->', q.url(), r.status(), await q.$eval('html', e => e.lang)); await q.close();
|
||||
}
|
||||
await p.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
await b.close();
|
||||
})().catch(e => { console.error(e); process.exit(1); });
|
||||
@@ -0,0 +1,20 @@
|
||||
hu-1280-js {"openBefore":false,"openAfterClick":true,"items":[{"text":"Magyar","href":"/","cur":"true","vis":true,"r":[1043,1161]},{"text":"English","href":"/en/","cur":null,"vis":true,"r":[1043,1161]}],"viewport_scroll":[1280,1280]}
|
||||
Magyar -> https://felhom.eu/ 200 hu
|
||||
English -> https://felhom.eu/en/ 200 en
|
||||
en-1280-js {"openBefore":false,"openAfterClick":true,"items":[{"text":"Magyar","href":"/","cur":null,"vis":true,"r":[1043,1161]},{"text":"English","href":"/en/","cur":"true","vis":true,"r":[1043,1161]}],"viewport_scroll":[1280,1280]}
|
||||
Magyar -> https://felhom.eu/ 304 hu
|
||||
English -> https://felhom.eu/en/ 200 en
|
||||
hu-376-js {"openBefore":false,"openAfterClick":true,"items":[{"text":"Magyar","href":"/","cur":"true","vis":true,"r":[129,344]},{"text":"English","href":"/en/","cur":null,"vis":true,"r":[129,344]}],"viewport_scroll":[376,376]}
|
||||
Magyar -> https://felhom.eu/ 200 hu
|
||||
English -> https://felhom.eu/en/ 304 en
|
||||
en-376-js {"openBefore":false,"openAfterClick":true,"items":[{"text":"Magyar","href":"/","cur":null,"vis":true,"r":[129,344]},{"text":"English","href":"/en/","cur":"true","vis":true,"r":[129,344]}],"viewport_scroll":[376,376]}
|
||||
Magyar -> https://felhom.eu/ 304 hu
|
||||
English -> https://felhom.eu/en/ 304 en
|
||||
hu-1280-nojs {"openBefore":false,"openAfterClick":true,"items":[{"text":"Magyar","href":"/","cur":"true","vis":true,"r":[1043,1161]},{"text":"English","href":"/en/","cur":null,"vis":true,"r":[1043,1161]}],"viewport_scroll":[1280,1280]}
|
||||
Magyar -> https://felhom.eu/ 200 hu
|
||||
English -> https://felhom.eu/en/ 200 en
|
||||
en-1280-nojs {"openBefore":false,"openAfterClick":true,"items":[{"text":"Magyar","href":"/","cur":null,"vis":true,"r":[1043,1161]},{"text":"English","href":"/en/","cur":"true","vis":true,"r":[1043,1161]}],"viewport_scroll":[1280,1280]}
|
||||
Magyar -> https://felhom.eu/ 304 hu
|
||||
English -> https://felhom.eu/en/ 304 en
|
||||
hu-376-nojs phone menu needs JavaScript (the three-line button is scripted); skipped
|
||||
en-376-nojs phone menu needs JavaScript (the three-line button is scripted); skipped
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 96 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 96 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 26 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 96 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 96 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
Reference in New Issue
Block a user