如何删除所有隐藏的元素

本文关键字:隐藏 元素 何删除 删除 | 更新日期: 2023-09-27 18:20:40

我正在寻找一种方法来剥离HTML文档中隐藏的所有元素。

我可以删除包含样式display:nonevisible:hidden的元素,但那些因为CSS类而隐藏的元素呢?有没有一种方法可以查看具有类"item-description"的DIV,并知道该类的样式表包含display:none

如何删除所有隐藏的元素

HtmlAgilityPack无法知道这一点,因为它不考虑样式,只考虑DOM。

如果你想在加载html后真正能够处理样式,你必须

  • 解析css(遵循所有@imports和其他技巧)
  • 通过使用选择器将每个规则应用于每个DOM节点
  • 根据父层次结构和规则,应用继承规则查看隐藏或不隐藏的内容
  • 解决一致性问题(如果一个组件是可见的,但不是其父组件,该怎么办?这将如何转化为最终文档?)
  • 我希望您决定要模仿的浏览器,因为一些css规则将适用于特定的浏览器
  • 我还希望你不要有javascript触及页面上的DOM

我肯定我忘了更多的事情。。。不要去那里!真可怕!

如果你真的想在C#中得到这个结果,也许嵌入一个渲染引擎,然后通过javascript查询它会是更好的方法