Как получить код полностью загруженной страницы - C#

Узнай цену своей работы

Формулировка задачи:

Хочу получить код страницы окончательно загруженной со всеми выполненными скриптами. При использовании HttpWebRequest и HttpWebResponse получаю сырой код со скриптами, которые в свою очередь должны выполняться в браузере и, к примеру, загружать некое содержимое, которое мне недоступно без выполнения скриптов. Как получить html код страницы в том виде как она есть в браузере?

Решение задачи: «Как получить код полностью загруженной страницы»

textual
Листинг программы
class Program
    {
        static void Main()
        {
            string site = "https://mail.ru/";
            runBrowserThread(new Uri(site));
            Console.ReadKey();
        }
        private static void runBrowserThread(Uri url)
        {
            var th = new Thread(() => {
                var br = new WebBrowser();
                br.DocumentCompleted += browser_DocumentCompleted;
                br.Navigate(url);
                Application.Run();
            });
            th.SetApartmentState(ApartmentState.STA);
            th.Start();
            th.Join();
        }
        static void browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            var br = sender as WebBrowser;
            if (br.Url == e.Url)
            {
                File.WriteAllText("1.html", br.DocumentText);
                Console.WriteLine("Natigated to {0}", e.Url);
                Application.ExitThread();   // Stops the thread
            }
        }
    }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.5 из 5
Похожие ответы