从WebView中读取HTML - Xamarin Forms

从WebView中读取HTML - Xamarin Forms

问题描述:

我们是否有一种方法来读取加载到Xamarin Forms WebView中的HTML?从WebView中读取HTML - Xamarin Forms

我已经将URL加载到一个Xamarin表单WebView中,并且现在该URL在webview上发生变化,并且我希望在发生重定向时找到一个页面。我需要阅读html内容(字符串)和web浏览器中加载的html,并找到期望的页面。

问题:我正在为用户打开登录页面。用户添加凭证并点击登录按钮。如果凭证有效,则会从登录页面重定向到具有相同URL的其他中间页面,但情况会有所不同。第一次用户登录时,它显示授权页面和接受按钮。一旦用户点击按钮,用户移动到预期的最终页面。如果用户第一次登录后,中间页面将为空,并在一段时间后进入最终预期页面。

我需要找到一个逻辑来检测中间页面有授权信息或有空白页面。我无法使用URL识别它,因为中间页面具有相同的URL。所以,想到阅读页面的HTML内容。我怎么做?

我将iOS,Android和Windows作为跨平台的Xamarin表单应用程序。

您可以将软件包System.Net.Http安装到您的PCL中,并以这种方式获取页面的HTML内容。

HttpClient hpClient = new HttpClient(); 
HttpResponseMessage requestMessage = await hpClient.GetAsync("http://google.com"); 
string HTMLContent = await requestMessage.Content.ReadAsStringAsync(); 

注:要安装System.Net.Http包你将需要双击你的PCL解决方案,转到常规>当前配置文件并将其更改为PCL 4.5 - 简介111

+0

我已更新我的问题。请检查它。我将通过重定向进入网页,因此上述解决方案无法帮助我。 –

+0

这就像一个魅力。非常感谢!! – DocAsh59

我会仍然认为你可以怎样做你所需要的,但这里是你可以使用的一种方法。

订阅导航事件。在它内部,WebNavigatedEventArgs参数具有指向Url的UrlWebViewSource成员Source。你可以从中读取。

另一个选项是检查CanGoBack。如果是重定向这个成员应该是真实的。

要阅读您需要实现自定义渲染器的页面内容。

+0

我已经在做这个。请在这里建议。 –

+0

如果您提供样本解决方案,我可能会提供更多帮助。 –