.net 如何从Awesomium.WebControl获取HtmlDocument

.net 如何从Awesomium.WebControl获取HtmlDocument,.net,winforms,web-controls,awesomium,.net,Winforms,Web Controls,Awesomium,我在一个.Net winforms应用程序中完成所有这些 我习惯于使用IE WebControl,它只有一个文档属性。很简单 现在,我正在使用Awesomium.WebControl,并尝试获取底层文档,以便进行一些DOM工作 但我不知道该怎么做。 我在谷歌也找不到任何关于如何做到这一点的文章 有人能发布一些工作代码,以WebControl开始,以包含所有DOM方法的对象结束吗?我不在乎它是什么类,只要它允许我浏览dom集合和其他东西 我更喜欢在.Net中工作,而不是在javascript中。

我在一个.Net winforms应用程序中完成所有这些

我习惯于使用IE WebControl,它只有一个文档属性。很简单

现在,我正在使用Awesomium.WebControl,并尝试获取底层文档,以便进行一些DOM工作

但我不知道该怎么做。 我在谷歌也找不到任何关于如何做到这一点的文章

有人能发布一些工作代码,以WebControl开始,以包含所有DOM方法的对象结束吗?我不在乎它是什么类,只要它允许我浏览dom集合和其他东西

我更喜欢在.Net中工作,而不是在javascript中。 但作为最后手段,我会采取有效措施


谢谢

要访问Awesomium WebControl中的HTML文档,可以执行JavaScript
getElementsByTagName
。我们就是这样做的:

Dim html As String = WebControl1.ExecuteJavascriptWithResult("document.getElementsByTagName('html')[0].innerHTML")
例如,您可以将此代码放入
WebControl.DocumentReady
事件的处理程序中。否则,您需要在执行JavaScript之前检查
WebControl1.IsDocumentReady=True

然后,我们使用HTMLAgilityPack将此HTML字符串解析为HTMLDocument:

Dim doc As New HtmlDocument
doc.LoadHtml(html)

希望它能让你做所有你需要做的工作

多谢各位。您知道ExecuteJavascriptWithResult返回的html是post javascript dom操纵还是网页的原始未更改代码吗?它将返回网页的当前状态。因此,如果您在触发
DocumentReady
事件之后执行此操作,则将是JavaScript后dom操作。这种操作有效,只是在所有异步回调完成之前调用了DocumentReady。有没有办法知道这些工作何时完成?