2017-07-16 61 views
0

我尝试开发一个应用程序UWP从我的大学网站获得的数据如何在登录后使用HtmlAgilityPack获取网页内容?

我能够用的WebView登录,现在我试着提取登录后显示任何文本

但我尝试使用HtmlAgilityPack提取网页内容,但它改为重定向到登录页面。

这里是我做过什么

private async void GetInfo(WebView sender, WebViewDOMContentLoadedEventArgs args) 
{ 
    HtmlDocument doc = new HtmlDocument(); 
    HtmlWeb web = new HtmlWeb(); 
    doc = await web.LoadFromWebAsync(sender.Source.AbsoluteUri); 
    var chunks = new List<string>(); 
    foreach (var item in doc.DocumentNode.DescendantsAndSelf()) 
    { 
     if (item.NodeType == HtmlNodeType.Text) 
     { 
      if (item.InnerText.Trim() != "") 
      { 
       chunks.Add(item.InnerText.Trim()); 
      } 
     } 
    } 
} 

当我与Visual Studio检查,以块列表中的所有文本是从登录页面后不登录页面

+0

您需要使用的cookies从web视图要充分利用数据登录后页面。或者使用任何可用的API来完成它。 – Ahmar

回答

0

您可以使用InvokeScriptAsyncWebView将HTML内容。呼叫使用WebView

await webView.InvokeScriptAsync("eval", new string[] { "document.documentElement.outerHTML;" }); 

登录后,下面的代码欲了解更多信息:
退房this答案
Sample app用于登录到StackOverflow的