У меня есть список URL-адресов, которые мне нужны, чтобы извлекать их HTML для каждого отдельно. URL-адреса:C# webBrowser в цикле
foo_list = {"expamle.com", "example.net", "example.org"};
Код я пробовал:
foreach (string x in foo_list) {
webBrowser1.Navigate(x);
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
string html = webBrowser.Document.Body.Parent.OuterHtml;
// handle the html and save to file...
}
Проблема заключается в том, я только что получил HTML и данные последнего URL (example.org
) в списке. Я понимаю, что команда Navigate
в цикле foreach работает слишком быстро, поэтому только последний URL может ждать DocumentCompleted
. Итак, как я могу справиться с этой проблемой?
Использование 'async' и' await' – Shaharyar
'Chelsea_cole' помнит, что веб-функциональность, просмотр и или перенаправление - это' Stateless', не то же самое, что в 'Windows', я бы поискал в свободное время' Async Task и ждал' function – MethodMan
Uhm, почему бы не использовать HTTP-клиент для этого? Посмотрите REST Sharp – Crisfole