2017-07-07 130 views
0

我一直在寻找一种方法让Chrome Headless只将可见的 DOM节点作为树来输出。Chrome Headless:获取仅有可见节点的DOM节点

我使用下面的代码来输出整个DOM,但是这包括不可见的元素。

Runtime.evaluate({expression: 'document.documentElement.outerHTML'}) 

有没有办法修剪所有不可见的节点?

回答

0

我不确定要做这个树。为此,我认为你必须得到所有的节点,然后走树并删除不可见的节点。

这将返回一个节点列表。

Runtime.evaluate({expression: 'document.querySelectorAll("*:visible")'}) 
+0

有趣。你认为我可以使用“*:hidden”选择所有隐藏的元素并删除它们中的每一个? – Brad

+1

那么,你实际上会搜索'document.querySelectorAll(“*:not(:visible)”)'然后你可以删除它们。 –

+0

完美。我现在就给它一个镜头。 – Brad