0
私のプロジェクトでWPF Webブラウザを使用していますが、そのページのHTMLをキャッチしようとしています。ここでは同じWPFブラウザコントロールからの動的HTMLの読み込み
private void Window_Loaded(object sender, RoutedEventArgs e)
{
webBrowser.Navigate("https://www.uptodate.com/contents/lassa-fever/print");
}
private void webBrowser_LoadCompleted(object sender, NavigationEventArgs e)
{
dynamic doc = webBrowser.Document;
var htmlText = doc.documentElement.InnerHtml;
MessageBox.Show(htmlText);
}
さて、問題のコードはこちらです: メッセージボックスが正しくページの内容を示したが、私は私のコードでは、htmlTextの値を参照する場合には、全体の内容を示していないが、それは示していjavascriptを使用して挿入されたコンテンツを除いて静的に追加されたHTMLコンテンツのみ。
私がここで観察した最も奇妙なことは、さまざまなビジュアライザの異なる出力を表示することです。つまり、テキストビジュアライザを使用してhtmlTextを表示すると、ページの静的コンテンツのみが表示されますが、HTMLビジュアライザを使用して表示されるとき、 HTMLはjavascriptを使用してロードされました。
おかげで戻って私は両方のアプローチを試してみましたそれは動作しませんでした。 最初のアプローチのCode変数とrenderedHtmlは、コード と同じように動作します。つまり、ページのコンテンツを正しく表示しますが、コード内のhtmlTextの値を参照するとコンテンツ全体が表示されませんが、 JavaScriptを使って挿入されたコンテンツを除いて静的に追加されたHTMLコンテンツのみを表示します –
"webBrowser_LoadCompleted"内で5秒間タイマーコントロールを使用し、その中に書かれた現在のコードをタイマー機能で書き込めますか?完全なhtmlを読み込むには数秒しかかかりません。 –