2017-07-16 106 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的