Записать в файл HTML код страницы, которая генерируется с помощью JavaScript - Visual Basic .NET

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

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

Всем привет есть ли возможность записать в файл HTML код страницы, которая генерируется с помощью JavaScript? Делал так:
Листинг программы
  1. Dim Client As New Net.WebClient
  2. Client.Proxy = New System.Net.WebProxy
  3. Dim Resurs = Client.DownloadString("myscore.ru")
  4. File.WriteAllText(parsetmp, Client.DownloadString(Server), Encoding.Default)
Но так я получаю только тот текст, который я могу получить при нажатии "Посмотреть код" в браузере и там будет код с JS, но мне нужен тот код, который я вижу в браузере, т.е. уже сгенерированный. Этого результата я могу добиться с помощью WebBrowser, например так:
Листинг программы
  1. WebBrowser1.Navigate("myscore.ru)
  2. File.WriteAllText(parsetmp, WebBrowser1.Document.Body.Parent.OuterHtml, Encoding.GetEncoding(WebBrowser1.Document.Encoding))
но мне нужно сделать это не через WebBrowser, а другим способом. Не знаю почему, но почему-то на некоторых компьютерах никак не получается загрузить код страницы через WebBroser. Всю голову уже сломал, но не пойму в чем дело. Подскажите пожалуйста. Если что, то сейчас я делаю так:
Листинг программы
  1. WebBrowser1.Navigate(SetServer)
  2. Dim sw As Stopwatch = Stopwatch.StartNew()
  3. While sw.ElapsedMilliseconds < SetTime
  4. Application.DoEvents()
  5. Thread.Sleep(1)
  6. End While
  7. sw.[Stop]()
  8. File.WriteAllText(parsetmp, WebBrowser1.Document.Body.Parent.OuterHtml, Encoding.GetEncoding(WebBrowser1.Document.Encoding))
  9. DataGridView3.Rows.Clear()
  10. GetListMatches()
В функции GetListMatches() я обрабатываю полученный текст с кодом страницы. Но на моем компьютере все работает хорошо, а вот на других компьютерах (не на всех) почему то этот код не работает. Вот думаю может попробовать не через WebBrowser, а другим способом... Подскажите пожалуйста как это сделать правильно

Решение задачи: «Записать в файл HTML код страницы, которая генерируется с помощью JavaScript»

textual
Листинг программы
  1. Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
  2.         If WebBrowser1.ReadyState = WebBrowserReadyState.Complete AndAlso e.Url = WebBrowser1.Url Then
  3.             File.WriteAllText(parsetmp, WebBrowser1.Document.Body.Parent.OuterHtml, Encoding.GetEncoding(WebBrowser1.Document.Encoding))
  4.         End If
  5.     End Sub

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


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

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

12   голосов , оценка 4.083 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы