Я пытаюсь получить контент на сайте, который отображается с помощью JavaScript. Так что я бегу WebView
с Visibility=Collapsed
. Я хочу подождать unitl NavigationCompleted
и запустить JavaScript, а затем вернуть значение.
Код выглядит так:
private async void Foo()
{
// Want to get value here
var content = await GetContent();
}
private async Task<string> GetContent()
{
string content;
async void handler(WebView sender, WebViewNavigationCompletedEventArgs args)
{
content = await webView.InvokeScriptAsync("eval", new string[] { script });
webView.NavigationCompleted -= handler;
}
webView.NavigationCompleted += handler;
webView.Navigate(uri);
return content;
}
Поскольку в GetContent()
ожидание отсутствует, функция всегда возвращается до срабатывания NavigationCompleted
.