async function printFont(index: number): Promise<boolean> {
            const res = await cdp.send(
                "Runtime.evaluate",
                {expression: `Array.from(document?.querySelector('#my-iframe')?.contentWindow?.document?.body?.querySelector('#my-webcomponent')?.shadowRoot?.querySelectorAll('text') || []).filter((c) => c.textContent && (c.textContent.includes('Access') || c.textContent.includes('TV')))[${index}]`},
            ) as any
            if (res?.result?.objectId) {
                // eslint-disable-next-line prefer-destructuring
                const nodeId = ((await cdp.send("DOM.requestNode", {objectId: res.result.objectId})) as any).nodeId
                if (nodeId) {
                    // eslint-disable-next-line prefer-destructuring
                    const outerHTML = ((await cdp.send("DOM.getOuterHTML", {nodeId: nodeId})) as any).outerHTML
                    let text = ""
                    if (outerHTML) {
                        const parts = outerHTML.match(/>(.*)<\/text>/)
                        if (parts.length >= 2) {
                            // eslint-disable-next-line prefer-destructuring
                            text = parts[1]
                        }
                    }
                    const fonts = await cdp.send("CSS.getPlatformFontsForNode", {nodeId: nodeId})
                    cons.log("!!!!!!!!!!!!!!!! fonts", text, JSON.stringify(fonts))
                    return true
                }
            }
            return false            
        }
  
        const cdp = await page.target().createCDPSession()
        try {
            await cdp.send("Runtime.enable")
            await cdp.send("DOM.enable")
            await cdp.send("CSS.enable")
            // https://github.com/puppeteer/puppeteer/issues/9077 https://bugs.chromium.org/p/chromium/issues/detail?id=1374241
            await cdp.send("DOM.getDocument", {depth: 0})
            for (let i = 0, res = true; res; i++) {
                res = await printFont(i)
            }
        }
        finally {
            await cdp.detach()
        }See
https://stackoverflow.com/questions/56226426/nodeid-to-element-handle
https://stackoverflow.com/questions/55835999/how-to-go-from-elementhandle-to-dom-element