2017-07-16 1 views
0

Je suis essayer de développer une application qui UWP les données de mon site de l'UniversitéComment puis-je obtenir du contenu Web avec HtmlAgilityPack après la connexion?

Je suis capable de se connecter avec WebView et maintenant je vais essayer d'extraire tout texte qui apparaissent après la connexion

Mais J'essaie d'extraire le contenu Web avec HtmlAgilityPack mais il a été redirigé vers la page de connexion à la place.

Voici ce que je faisais

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()); 
      } 
     } 
    } 
} 

Comme je vérifie avec Visual Studio, tous les textes dans la liste des morceaux est de la page de connexion non après la page de connexion

+0

Vous devez utiliser les cookies de la WebView pour obtenir des données de la page après-connexion. Ou utilisez n'importe quelle API disponible pour le faire. – Ahmar

Répondre

0

Vous pouvez utiliser InvokeScriptAsync dans WebView pour obtenir Html. Appelez le code ci-dessous après la connexion en utilisant WebView

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

Pour plus d'informations:
Découvrez this réponse
Sample app pour se connecter à Stackoverflow