Come posso ottenere contenuti Web con HtmlAgilityPack dopo l'accesso?

c# html-agility-pack uwp webview

Domanda

Sto provando a sviluppare un'app UWP che ottenga i dati dal mio sito web dell'Università

Sono in grado di accedere con WebView e ora sto cercando di estrarre qualsiasi testo visualizzato dopo l'accesso

Ma provo ad estrarre il contenuto web con HtmlAgilityPack ma invece ho reindirizzato alla pagina di login.

Ecco cosa ho fatto

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

Mentre controllo con Visual Studio, tutti i testi nella lista dei blocchi provengono dalla pagina di accesso non dopo la pagina di accesso

Risposta accettata

È possibile utilizzare InvokeScriptAsync in WebView per ottenere Html. Chiama il codice seguente dopo il login usando WebView

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

Per maggiori informazioni:
Dai un'occhiata a questa risposta
App di esempio per l'accesso a StackOverflow



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché