. NET Core 3.1 WebBrowserControl читает html после навигации - PullRequest
0 голосов
/ 03 апреля 2020

Мне кажется, что я не могу прочитать HTML после того, как элемент управления веб-браузера WPF завершил переход на страницу.

Причина, по которой я должен использовать WebBrowser вместо HttpClient, заключается в том, что необходим веб страница требует входа в первую очередь.

XAML:

<WebBrowser x:Name="wbBrowse" Source="anywebpage" LoadCompleted="wbBrowse_LoadCompleted">
</WebBrowser>

Код:

  private void wbBrowse_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e)
  {
      var doc = wbBrowse.Document;
  }

Я пытался привести Document к HtmlDocument, но он вылетает. Это объект '{System .__ ComObject}', который ничего не значит для меня.

Спасибо

1 Ответ

1 голос
/ 03 апреля 2020

Добавьте ссылку на Microsoft HTML Object Library в Project-> Add Reference-> COM в Visual Studio и приведите значение Document к MSHTML.IHTMLDocument2:

private void wbBrowse_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e)
{
    MSHTML.IHTMLDocument2 doc = wbBrowse.Document as MSHTML.IHTMLDocument2;
    ...
}

. Это работает в. NET Core 3.1.

...