Я работаю над приложением, которое содержит элемент управления WebBrowser и сохраняет скриншоты веб-страниц. (C #, VS2008, IE 9, Vista. Все обновлены. Для параметра FEATURE_BROWSER_EMULATION установлено значение 0x2328)
Приложение берет список URL-адресов и переходит к ним один за другим и сохраняет снимки экрана. Поток приложения выглядит следующим образом: прочтите URL-адрес из файла, сначала получите его с помощью HttpWebRequest, если он существует и если это html вызовите 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.
Пожалуйста, дайте мне знать, если у вас есть какие-либо рекомендации относительно того, почему это происходит. заранее спасибо