62 lines
2.3 KiB
JavaScript
62 lines
2.3 KiB
JavaScript
const { chromium } = require("playwright");
|
|
(async () => {
|
|
const b = await chromium.launch({ headless: true, args: ["--no-sandbox","--disable-gpu"] });
|
|
const ctx = await b.newContext({ viewport: {width:1920,height:1080} });
|
|
const pg = await ctx.newPage();
|
|
try {
|
|
await pg.goto("https://weval-consulting.com/aapreview.html", { waitUntil: "load", timeout: 35000 });
|
|
await pg.waitForTimeout(15000);
|
|
|
|
const r = await pg.evaluate(() => {
|
|
// Find all body > div elements that are tall (potential renderers)
|
|
const tall = Array.from(document.querySelectorAll('body > div')).map(d => {
|
|
const r = d.getBoundingClientRect();
|
|
const cs = getComputedStyle(d);
|
|
return {
|
|
id: d.id || '(no id)',
|
|
class: (d.className || '').toString().slice(0,40),
|
|
children: d.children.length,
|
|
h: Math.round(r.height),
|
|
w: Math.round(r.width),
|
|
pos: cs.position,
|
|
top: cs.top, left: cs.left,
|
|
overflow: cs.overflow
|
|
};
|
|
}).filter(d => d.h > 1500 || d.children > 50);
|
|
|
|
// Find canvas
|
|
const canvas = document.querySelector('canvas');
|
|
const canvasInfo = canvas ? {
|
|
w: canvas.width, h: canvas.height,
|
|
rect_w: Math.round(canvas.getBoundingClientRect().width),
|
|
rect_h: Math.round(canvas.getBoundingClientRect().height),
|
|
cs_pos: getComputedStyle(canvas).position
|
|
} : null;
|
|
|
|
// Find CSS2DRenderer container - usually a div with overlapping ag-cards inside
|
|
const card = document.querySelector('.ag-card');
|
|
const renderer = card ? card.parentElement : null;
|
|
const rendererInfo = renderer ? {
|
|
tag: renderer.tagName,
|
|
id: renderer.id,
|
|
class: (renderer.className || '').toString().slice(0,40),
|
|
h: Math.round(renderer.getBoundingClientRect().height),
|
|
w: Math.round(renderer.getBoundingClientRect().width),
|
|
pos: getComputedStyle(renderer).position,
|
|
top: getComputedStyle(renderer).top,
|
|
children: renderer.children.length
|
|
} : null;
|
|
|
|
return {
|
|
canvas: canvasInfo,
|
|
css2d_renderer: rendererInfo,
|
|
tall_divs: tall
|
|
};
|
|
});
|
|
|
|
console.log("RENDERER_SCAN:");
|
|
console.log(JSON.stringify(r, null, 2));
|
|
} catch(e) { console.log("ERR:", e.message); }
|
|
await b.close();
|
|
})();
|