INNER CODE UNIT · Python
page_result
yaojingang/GEOFlow · scripts/audit-admin-ui-v3-flicker.py:98
def page_result(page, row: dict[str, str], viewport_name: str) -> dict:
audit = page.evaluate("window.__gfFlickerAudit") or {"shifts": [], "frames": []}
frames = [frame for frame in audit.get("frames", []) if frame.get("sidebar") and frame.get("shellBody")]
first = frames[0] if frames else {}
final = frames[-1] if frames else {}
cls = round(sum(float(entry.get("value", 0)) for entry in audit.get("shifts", [])), 6)
sidebar_width_delta = delta(first.get("sidebar"), final.get("sidebar"), "width")
content_x_delta = delta(first.get("shellBody"), final.get("shellBody"), "x")
heading_x_delta = delta(first.get("heading"), final.get("heading"), "x")
measurements = page.evaluate(
"""() => ({
state: document.documentElement.getAttribute('data-gf-sidebar-state'),
booting: document.documentElement.hasAttribute('data-gf-ui-booting'),
pendingIcons: document.querySelectorAll('i[data-lucide]').length,
pendingIconMarkup: Array.from(document.querySelectorAll('i[data-lucide]')).slice(0, 5).map(icon => icon.outerHTML),
shell: Boolean(document.querySelector('[data-gf-shell]')),
sidebarPosition: document.querySelector('.gf-sidebar')
? getComputedStyle(document.querySelector('.gf-sidebar')).position