gpt4 book ai didi

c# - 如何从 WebKit.Net 中的元素获取 html

转载 作者:行者123 更新时间:2023-11-30 18:33:12 25 4
gpt4 key购买 nike

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

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

下面基本上是我想要完成的。我浏览了文档并进行了大量搜索,但在所有方面都一无所获。我找不到完成代码段中最后一行的方法。

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 注入(inject)元素的解决方案,这样我就可以手动添加 IMG 标签,而无需专门为其创建 DOM 元素。使用 divHTML.TextContent,html 被解释为纯文本。

提前致谢!

最佳答案

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 仅反射(reflect)原始 HTML 而非任何修改结果的问题。

关于c# - 如何从 WebKit.Net 中的元素获取 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17711194/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com