C# webBroser .DocumentText возвращает исходный код только первой страницы

183
11 августа 2021, 19:40

Пытаюсь спарсить несколько страниц. Добавил элемент WebBrowser и кнопку, на ее нажатие поставил событие.

int i, p;
  string link, file, open;
  link = "http://site/page-";
  i = 2;
  p = 4;
  webBrowser1.Document.Encoding = "utf-8";
  while (i <= p)
  {
    open = link + i;
    webBrowser1.Navigate(open);
    richTextBox1.Text = open;
    file = @"D:\" + i + ".txt";
    StreamWriter sw = new StreamWriter(file, false, System.Text.Encoding.UTF8);
    sw.Write(webBrowser1.DocumentText);
    sw.Close();
    i++;
  }

Но проблема в том, что на выходе все файлы с одинаковым содержимым, той страницы, которая была изначально передана в url. Подскажите, пожалуйста, как мне исправить, чтобы сохранялся код от соответствующих страниц?

Answer 1

Помогла функция на проверку

private void OpenUri(string uri)
{
    w.Url = new Uri(uri);
    while (w.ReadyState != WebBrowserReadyState.Complete)
        Application.DoEvents(); //Выполняем другие события системы, пока страница не загрузилась 
}
READ ALSO
Property Injection с помощью Ninject

Property Injection с помощью Ninject

Использую библиотеку NinjectПомогите разобраться почему не работает Property Injection

118
Entity Framework фильтр данных

Entity Framework фильтр данных

Всем привет, недавно начал осваиватьnet mvc - возник вопрос выборки данных из БД

264
Проблемы с BackgroundWorker!

Проблемы с BackgroundWorker!

Я новичок в C#При работе с BackgroundWorker возник казус

232