Как получить код полностью загруженной страницы - 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
}
}
}