WebBrowserコントロールをホストし、Webページのスクリーンショットを保存するアプリケーションに取り組んでいます。(C#、VS2008、IE 9、Vista。すべて最新。FEATURE_BROWSER_EMULATIONは0x2328に設定されています)
アプリケーションはURLのリストを取得し、URLに1つずつ移動して、スクリーンショットを保存します。アプリケーションフローは次のとおりです。ファイルからURLを読み取り、最初にHttpWebRequestを使用して取得します。存在する場合は、webBrowser.Navigate(url)を呼び出し、WebBrowser.ReadyStateがWebBrowserReadyState.Completeになるまで待ちます(WebBrowser.DocumentCompletedイベントを処理します。 ReadyStateがWebBrowserReadyState.Completeになるまで何もせず、安全のためにさらに数秒待って(最大10秒テスト)、スクリーンショットを保存して次のURLに移動します。ほとんどすべてのURL(多くの異なるサイトのページ)で正しく機能しますが、アプリケーションに埋め込まれたWebBrowserは、一部のURL、特にwww.securityfocus.comのページ(たとえばhttp://www.securityfocus.com/bid/ )をレンダリングしません。 52023
キャッシュを無効にし、すべてのリクエストの前にキャッシュをクリアしてみました。レンダリングなどを無駄にするために、最大10秒待ちます。WebBrowserがページをレンダリングしないことを視覚的に確認しました。スクリーンショットの保存に関連する問題ではありません(BitBltを使用していますが、関連性はないと思います)。ページは通常IEを使用してレンダリングされます。
なぜこれが起こっているのかについて何かアドバイスがあれば教えてください。前もって感謝します