diff --git a/cli/engine/browser/injected/index.mjs b/cli/engine/browser/injected/index.mjs index a9b9fd18a..91c5370b7 100644 --- a/cli/engine/browser/injected/index.mjs +++ b/cli/engine/browser/injected/index.mjs @@ -1277,23 +1277,67 @@ if (IS_BROWSER) { else groupMap.set(el, [...kept]); } + function selectorNodesForLiveDom(root, selector) { + const raw = String(selector || '').trim(); + if (!raw) return null; + try { + const exact = Array.from(root.querySelectorAll(raw)); + if (exact.length > 0) return exact; + } catch { /* Dynamic/unsupported pseudos get the fallback below. */ } + const fallback = raw + .replace(/::?[a-zA-Z-]+(\([^)]*\))?/g, '') + .trim() + .replace(/,\s*(?=,|$)/g, ''); + if (!fallback || /^[,\s]*$/.test(fallback)) return null; + try { return Array.from(root.querySelectorAll(fallback)); } + catch { return null; } + } + // Read CSS that is absent from document.outerHTML. Inline