UNPKG

webdriverio

Version:

Next-gen browser and mobile automation test framework for Node.js

27 lines (26 loc) 715 B
// src/scripts/shadowDom.ts function findIframeInShadowDOM(fragment) { function findIframe(root) { const allElements = Array.from(root.querySelectorAll("iframe")); for (const el of allElements) { if (el instanceof HTMLIFrameElement && el.src.includes(fragment)) { return el; } } const shadowHosts = Array.from(root.querySelectorAll("*")); for (const host of shadowHosts) { const maybeShadowRoot = host.shadowRoot; if (maybeShadowRoot) { const result = findIframe(maybeShadowRoot); if (result) { return result; } } } return null; } return findIframe(document); } export { findIframeInShadowDOM as default };