【问题标题】:Extract html element visually直观地提取html元素
【发布时间】:2014-07-19 18:33:11
【问题描述】:

您好,这是我关于 stackoverflow 的第一个问题,所以请客气。

我想提取一个 html 元素,但不仅是它应该保留其样式和功能的元素。所以我想选择想要的 html 元素,然后从所有其他元素中删除所有样式。我要问的是:

  1. 我有哪些要删除
    • 显然我必须从父元素中删除所有 样式属性,例如 heightwidthbackgroundColor , ...
    • 除此之外,classid 标签,因为它们可以从 css 或类似的东西获得样式 (这会影响我想要的子元素吗?以某种缺失的方式提取?)
    • 而且我必须删除其他父元素的所有内容(又说删除除脚本标签之外的所有父元素?)
    • 删除不是所选元素的父级或子级的所有其他元素树
  2. 哪些内容我不能删除
    • 我不应该删除脚本标签,因为这样我会失去功能
    • 另外我不应该删除 Html 标签 body 标签以保持有效的 Html

在保留和删除所有想要和不需要的东西之后,我只想要选定的元素及其内容和子元素。如果所选元素是表单或包含表单,则表单应该 100% 工作。

你能帮我完成这份清单以及一些想法,除了 html 之外还有什么要考虑的?

谢谢!

我尝试使用 C# mshtml/agilitypack 来解决这个问题,但这并不重要。

这样我就可以在我的网络浏览器中显示单个(选定的)html 元素,但保留它的功能。

【问题讨论】:

  • 似乎通过不同的路线更容易做到这一点......例如创建一个页面,该页面将获取一个url和选择器参数来加载元素并只显示它们......我不知道。 .我看不出你为什么要尝试做如此复杂的操作。不过,我没有投反对票
  • 首先感谢您的遮阳篷,我在我的问题中添加了两行:)。我不确定我是否理解正确,但我试图仅获取选定的 html 元素并将其呈现在新站点上,但结果是纯文本。所以我认为这是一种更好的方法来减少给定的网站,所有不需要的东西都会被删除,所以 javascript 功能和提取的元素可能需要的所有东西都留在那里。
  • 老实说。我不认为有任何简单的解决方案。范围太广了,如果没有非常具体的代码和在客户端上进行非常繁重的处理,几乎不可能满足您的要求。就个人而言,我会说这种方法是不切实际的,并且在我开始将其作为我自己的项目进行工作之前,方法或要求都必须改变。作为外部消息来源,我不会碰这个。对不起。 ://
  • 谢谢你,但这应该是最简单的部分,但如果我得到一些结果,我会在这里发布。

标签: c# html css extract


【解决方案1】:

用一些 CSS 就可以了,这很简单! :)

只设置可见性属性。我认为将最高父级的可见性设置为折叠并且您希望可见的元素设置为可见就足够了。

也许您必须将所有父级的可见性设置为折叠。也许有人可以提供一些信息,我是否可以假设元素从父母那里继承可见性,除了设置的可见性比这个被采取?

这是答案集,父母将父母的可见性设置为折叠,而您希望可见的孩子变得可见。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-17
    • 1970-01-01
    • 2013-10-09
    • 2013-05-01
    • 2016-05-17
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多