How to get inner html source from WebView in Xamarin Form - C#
我正在使用WebView加载我的身份验证网页。成功通过身份验证后,我需要从html源内容中获取一些值。任何人都可以从WebView读取源html吗?。
1 2 3 |
我已经检查了该线程:Xamarin:如何从WebView中的页面获取HTML?
看到上面的线程后,我写了下面的代码。
1 | webView.Eval("document.body.innerHTML") |
但是Eval是void函数,所以我如何在C#代码背后读取值,或者有没有简单的替代方法来将整个html内容获取为字符串?
这是我的代码:
1 2 3 4 | private async Task<string> GetHtml() { return await LoginWebViewItem.EvaluateJavaScriptAsync("document.body.innerHTML"); } |
然后我从我的方法中调用它:
1 | string AllHtml = await GetHtml(); |
您将需要使用Xamarin-Forms-Labs中的HybridWebView并注册一个回调。文档在这里。
在您的C#代码中注册一个回调:
1 | this.hybridWebView.RegisterCallback("dataCallback", t => System.Diagnostics.Debug.WriteLine(t)); |
然后评估一些调用回调的JS代码
1 | this.hybridWebView.Eval("Native("dataCallback", document.body.innerHTML);"); |