在Puppeteer中浏览页面时,我通常可以获得完整的HTML内容,如以下文本:
var content = await page.evaluate(
() => document.querySelector('body').innerHTML );
然而,我目前正在处理的情况下,有多个嵌套的阴影根。因此,我假设必须遍历整个DOM,检查每个节点是否有可用的.shadowRoot
,并分别遍历这些DOM。
有没有捷径或更简单的方法来做到这一点?像一个包含任何shadowroot DOM的innerHTML
变体?
1条答案
按热度按时间j8yoct9x1#
您可以尝试递归遍历DOM树,并用其内容替换任何影子根HTML。粗略的例子:
相关:Puppeteer没有为带有阴影根的页面提供准确的HTML代码。