因此,我有一个网站,可将其加载到表单的webbrowser控件中。加载文档后,我将检索webbrowser.documenttext。我在这里解析特定的表。但是我没有在这里找到表格,但是我发现它已经在表单浏览器中消失了。
我告诉您,这个特定的表格已由已加载的javascript代码加载/附加到doc。 当我右键单击并选择“查看源代码”时,它将使用正确的html弹出文档。
我的问题是如何获取ViewSource引用的同一文档,或者有什么方法可以获取文档在表单上呈现的内容?
答案 0 :(得分:0)
不是使用Webbrowser Control,而是使用HtmlAgilityPackage根据您的需要解析数据。
var html = new HtmlDocument();
html.LoadHtml(new WebClient().DownloadString("http://www.asp.net"));
var root = html.DocumentNode;
var commonPosts = root.Descendants().Where(n => n.GetAttributeValue("class",
"").Equals("common-post"));
答案 1 :(得分:0)
上述问题与我的问题非常相似,在仔细回答之后,我得知我需要以某种方式等待并浏览Web浏览器以获取动态内容。
我并没有真正实现答案中提供的代码,但是我将documentCompleted事件更改为异步,并提供了5s的等待任务延迟
private async void Browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
await Task.Delay(5000);
var html= wb.Document.GetElementsByTagName("HTML")[0].OuterHtml;
}
现在,我得到了动态结果。谢谢,我现在有感觉。