【问题标题】:How do I render .NET WebBrowser's modified DOM to HTML?如何将 .NET WebBrowser 修改后的 DOM 呈现为 HTML?
【发布时间】:2011-11-03 01:23:58
【问题描述】:

我有一个 .NET 网络浏览器,并通过 DOM 对页面元素进行某些更改

如:

通过 ID 更改某些元素的标题和内部文本。

现在一切正常,我可以调用文档的各个元素来确保进行了更改。

Webrowser.Body.Getelementbyid("id")

Webbrowser.Document.Title

但是如果我去顶层查看 HTML 就像

Webbrowser.DocumentText

目的是在进行必要的更改后保存所有的 HTML。

【问题讨论】:

    标签: .net dom browser web


    【解决方案1】:

    实际上你做不到。您正试图强制 Web 浏览器控件成为设计器,但这不会发生。

    这是因为浏览器不会将您的 DOM 更改应用到 HTML 并重新解释。您的所有更改都在内存中。看到那些反映在 HTML 中的变化构成了 HTML 设计者提供的一个特性,而 .NET 网络浏览器只是一个浏览器,而不是一个设计者。

    【讨论】:

    • 如果 HTML 格式正确且符合标准,您可以将其视为一种 XML 文档并自己更新源代码。或者您可以检查可能提供您正在寻找的功能类型的第 3 方解决方案。
    • Paul,我现在可以使用 WebBrowser.Document.Body.Parent.OuterHtml 获取更改。我去了一个级别到 body 并返回到实际上是 root 的父节点。但它只解决了一个问题,即进行更改。它提出了另一个问题,即它得到了呈现的 HTML 而不是原始的 HTML。我需要解决这个问题。
    • 我很惊讶它提供了渲染的 HTML,但我想这是有道理的。但是,根据我的回答,如果没有大量工作,您将无法通过更新获得原始 HTML。
    猜你喜欢
    • 1970-01-01
    • 2012-07-14
    • 1970-01-01
    • 1970-01-01
    • 2012-10-06
    • 2011-09-09
    • 2011-02-19
    • 2014-01-27
    • 1970-01-01
    相关资源
    最近更新 更多