Получить html через webview
У меня есть публичная папка на яндекс диске — https://disk.yandex.ru/d/AKKeLJ7SeMPsrg
Фотографии там подгружаются скриптами js на сколько я понял, поэтому если просто отправить get запрос, то результат будет без картинок.
Но, WebView выполняет эти скрипты и всё успешно отображает, но я хотел — удалить лишние элементы страницы и оставить только div с картинками, но для этого необходимо получить html код уже загруженной страницы, сделать это я пытался так:
<WebView x:Name="webView" Navigated="WebView_Navigated" />
protected override void OnAppearing()
{
var url = "https://disk.yandex.ru/d/l-OceLgwqfeuLA";
webView.Source = new UrlWebViewSource { Url = url };
}
async void WebView_Navigated(Object sender, WebNavigatedEventArgs e)
{
var html = await webView.EvaluateJavaScriptAsync("document.documentElement.outerHTML");
html = Regex.Replace(html, @"\\[Uu]([0-9A-Fa-f]{4})", m => char.ToString((char)ushort.Parse(m.Groups[1].Value, NumberStyles.AllowHexSpecifier)));
html = Regex.Unescape(html);
//System.Diagnostics.Debug.WriteLine(html);
}
В итоге в методе WebView_Navigated в переменную html получаю исходный код страницы, но он явно какой-то битый, то есть скрипты выполнены с ошибкой, вот отрывок результата:
!function(n,i){if(n.Ya=n.Ya||{},Ya.Rum)throw new Error("Rum: interface is already defined");
Подскажите, пожалуйста, как разобраться? Почему WebView нормально показывает результат, но если получить его исходный код, то он такой как выше?