如何删除所有隐藏的元素
本文关键字:隐藏 元素 何删除 删除 | 更新日期: 2023-09-27 18:20:40
我正在寻找一种方法来剥离HTML文档中隐藏的所有元素。
我可以删除包含样式display:none
或visible:hidden
的元素,但那些因为CSS类而隐藏的元素呢?有没有一种方法可以查看具有类"item-description"的DIV
,并知道该类的样式表包含display:none
?
HtmlAgilityPack无法知道这一点,因为它不考虑样式,只考虑DOM。
如果你想在加载html后真正能够处理样式,你必须
- 解析css(遵循所有
@imports
和其他技巧) - 通过使用选择器将每个规则应用于每个DOM节点
- 根据父层次结构和规则,应用继承规则查看隐藏或不隐藏的内容
- 解决一致性问题(如果一个组件是可见的,但不是其父组件,该怎么办?这将如何转化为最终文档?)
- 我希望您决定要模仿的浏览器,因为一些css规则将适用于特定的浏览器
- 我还希望你不要有javascript触及页面上的DOM
我肯定我忘了更多的事情。。。不要去那里!真可怕!
如果你真的想在C#中得到这个结果,也许嵌入一个渲染引擎,然后通过javascript查询它会是更好的方法