Reputation: 5506
I am using WebView to load my authentication web page. After the successful authentication, I need to get some values from html source content. can anyone helm to read the source html from WebView?.
var webView= new WebView {
Source = "https://www.MyLoginSite.com"
};
I have checked this thread : Xamarin: How to get HTML from page in WebView?
I have written the below code after seeing above thread.
webView.Eval("document.body.innerHTML")
But the Eval is the void function, so how can I read value in C# code-behind or is there any easy alternative method to get entire html content as string?
Upvotes: 2
Views: 5845
Reputation: 1100
Here is my code:
private async Task<string> GetHtml()
{
return await LoginWebViewItem.EvaluateJavaScriptAsync("document.body.innerHTML");
}
Then I call this from my method:
string AllHtml = await GetHtml();
Upvotes: 1
Reputation: 3167
You will need to use HybridWebView from Xamarin-Forms-Labs and register a callback. Documentation is here.
In your C# code register a callback:
this.hybridWebView.RegisterCallback("dataCallback", t => System.Diagnostics.Debug.WriteLine(t));
Then evaluate some JS code calling the callback
this.hybridWebView.Eval("Native(\"dataCallback\", document.body.innerHTML);");
Upvotes: 1