我正在尝试开发一个从我的大学网站获取数据的UWP应用程序
我可以使用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 :(得分:0)
您可以在InvokeScriptAsync
中使用WebView
来获取Html。使用WebView
await webView.InvokeScriptAsync("eval", new string[] { "document.documentElement.outerHTML;" });
有关详细信息:
查看this回答
LogIn到StackOverflow的Sample app