После того, как браузер завершил навигацию, вы можете вызвать метод, подобный этому ...
public static void GetPageContent(WebBrowser wb, string fileName)
{
mshtml.HTMLDocumentClass dom = (mshtml.HTMLDocumentClass)wb.Document;
Task t = new Task(() => File.WriteAllText(fileName, dom.body.innerHTML));
t.Start();
}
Этот метод помещает всю страницу в стандартный файл ASCII, и вы можете анализировать контент в соответствии с вашими потребностями.
Чтобы использовать этот метод, вам необходимо включить ссылку на сборку Microsoft.mshtml, которая должна находиться на вкладке .NET в диалоговом окне «Добавить ссылку».Как показано, я порождаю отдельный поток, чтобы сохранить привлекательный интерфейс, но это необязательно.
Для случая, когда вы просто хотите, чтобы строка была возвращена клиенту, вы можете использовать этот метод ...
public static string GetPageContent(WebBrowser wb)
{
return ((mshtml.HTMLDocumentClass) wb.Document).body.innerHTML;
}