Comment puis-je obtenir du contenu Web avec HtmlAgilityPack après la connexion?

c# html-agility-pack uwp webview

Question

Je tente de développer une application UWP qui récupère les données du site Web de mon université

Je peux me connecter avec WebView et maintenant je tente d'extraire le texte qui apparaît après la connexion

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

Voici ce que j'ai fait

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 de la liste des morceaux proviennent de la page de connexion et non après la page de connexion.

Réponse acceptée

Vous pouvez utiliser InvokeScriptAsync dans WebView pour obtenir du InvokeScriptAsync HTML. Appelez le code ci-dessous après vous être WebView avec WebView

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

Pour plus d'informations:
Découvrez cette réponse
Exemple d'application pour LogIn to StackOverflow



Related

Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow