我正在将一个旧项目迁移到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注入元素的解决方案,这样我就可以手动添加IMG标记,而无需专门为它创建DOM元素。使用divHTML.TextContent,html被解释为纯文本。
提前感谢!
发布于 2018-09-20 16:26:23
五年后,既然我可以回答我自己的问题,我将正式回答这个问题,因为它已经坐了那么久,被标记为一个受欢迎的问题。
试验和错误最终导致了一个不太理想但功能较好的解决方案,其形式是
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,而不反映任何修改的结果。
https://stackoverflow.com/questions/17711194
复制相似问题