【问题标题】:How to get html from an element in WebKit.Net如何从 WebKit.Net 中的元素获取 html
【发布时间】:2013-07-17 22:13:34
【问题描述】:

我正在将一个旧项目迁移到 WebKit.NET 0.5 Cairo。我已经克服了大多数障碍,但我不知道如何获取单个 WebKit.DOM.Element 对象的 HTML。

我可以使用 WebKitBrowser.DocumentText 读取整个文档的 HTML,但这不是我需要的。

以下基本上是我想要完成的。我浏览了文档并进行了大量搜索,但在所有方面都是空的。我发现没有办法完成 sn-p 中的最后一行。

WebKit.DOM.Element newdiv = webKitBrowser1.Document.CreateElement("DIV");
...
[ Create some SPAN's and append them to newdiv ]
...
String divHTML = newdiv.DocumentText // <-- DocumentText is not a member of WebKit.DOM.Element

使用 IE 控件,我可以执行 divHTML = newdiv.InnerHTML,但找不到任何与 WebKit.NET 等效的控件。

作为替代方案,我会接受将 HTML 注入元素的解决方案,这样我就可以手动添加 IMG 标记,而无需专门为其创建 DOM 元素。使用 divHTML.TextContent,html 被解释为纯文本。

提前致谢!

【问题讨论】:

    标签: c# webkit.net


    【解决方案1】:

    5 年后,现在我可以回答自己的问题了,我将正式回答这个问题,因为它已经坐了这么久,并且被标记为热门问题。

    反复试验最终导致了一个不是最优但功能性的解决方案

    WebKit.DOM.Element newdiv = webKitBrowser1.Document.CreateElement("DIV");
    ...
    [ Create some SPAN's and append them to newdiv ]
    ...
    String divHTML = webKitBrowser1.StringByEvaluatingJavaScriptFromString("document.getElementById('DivElementID').innerHTML");
    

    同样的方法也可以用来设置元素的innerHTML。

    这也解决了一个未提及的 WebKitBrowser.DocumentText 问题,它只反映原始 HTML,而不是任何修改后的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-24
      • 2016-12-06
      • 2020-06-09
      • 2018-09-18
      • 1970-01-01
      • 2012-05-16
      • 2022-11-10
      相关资源
      最近更新 更多