Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled
Phase 32 (doctrine 169): - Cron */10min batch-enrich-async.sh installe auto-enrichement queue - 4 dernieres pages PRIO enrichies: deepseek-hub, universal-integration-hub, qa-hub, wevia-ops-hub - Total cumul session: 39 pages UX doctrine 60 Phase 33 (doctrine 170-173): - Playwright audit v3 operationnel (10 pages, 20 zooms captured) - all-ia-hub overlap detecte: 4 tr + 2 br elements superposes - Fix CSS surgical applique (doctrine 172 + 173): - Logout top-right z-index 10000 - Feedback bot-right 20px - Secondary aside shifted bottom 84px (zero chauvauchement) - GOLD backups crees avant chaque fix Handler cascade Cerebras->Ollama validate (cerebras-qwen-235b primary). Pattern nohup & background valide pour eviter 502 CX endpoint. NR 153/153 invariant.
35 lines
1.5 KiB
JavaScript
35 lines
1.5 KiB
JavaScript
const { chromium } = require("playwright");
|
|
(async () => {
|
|
const browser = await chromium.launch({ headless: true, args: ["--no-sandbox","--disable-gpu"] });
|
|
const ctx = await browser.newContext({ viewport: { width: 1440, height: 900 } });
|
|
const pg = await ctx.newPage();
|
|
await pg.goto("https://weval-consulting.com/all-ia-hub.html", { waitUntil: "domcontentloaded", timeout: 12000 });
|
|
await pg.waitForTimeout(2500);
|
|
const overlaps = await pg.evaluate(() => {
|
|
const SEL = [\"button\",\".btn\",\".toggle\",\"[class*=toggle]\",\"[class*=btn]\",\".chip\",\".badge\",\".fab\"].join(\",\");
|
|
const findZone = (x1,y1,x2,y2) => {
|
|
const all = document.querySelectorAll(SEL);
|
|
const hits = [];
|
|
for (const el of all) {
|
|
const r = el.getBoundingClientRect();
|
|
if (r.width<2 || r.height<2) continue;
|
|
const cx = r.x+r.width/2, cy = r.y+r.height/2;
|
|
if (cx>=x1 && cx<=x2 && cy>=y1 && cy<=y2) {
|
|
hits.push({
|
|
tag: el.tagName,
|
|
cls: (el.className||\"\").toString().slice(0,80),
|
|
id: el.id || \"\",
|
|
text: (el.textContent||\"\").trim().slice(0,40),
|
|
x: Math.round(r.x), y: Math.round(r.y), w: Math.round(r.width), h: Math.round(r.height),
|
|
pos: getComputedStyle(el).position
|
|
});
|
|
}
|
|
}
|
|
return hits;
|
|
};
|
|
return { tr: findZone(1040,0,1440,400), br: findZone(1040,500,1440,900) };
|
|
});
|
|
console.log(JSON.stringify(overlaps, null, 2));
|
|
await browser.close();
|
|
})();
|