Как исправить "Запрашиваемый ресурс используется. (Исключение из HRESULT: 0x800700AA)"
Как я могу решить эту ошибку?
"Запрашиваемый ресурс используется. (Исключение из HRESULT: 0x800700AA)".
Это отображается при навигации на другом веб-сайте с использованием элемента управления WebBrowser в С#.NET. Почему?
Ответы
Ответ 1
Элемент управления WebBrowser считается "используемым", если в настоящее время обрабатывается какое-либо действие навигации, или в настоящее время открыто любое диалоговое окно блокировки из элемента управления (включая контекстное меню, предупреждения Javascript, диалоговое окно входа в систему NTLM и т.д.). Вы можете использовать свойство WebBrowser.IsBusy
для обнаружения этих состояний.
Если из-за неполного действия навигации вы можете попытаться остановить текущую навигацию (если вы действительно хотите остановиться, когда страница не загружена) или добавить новую навигацию в очередь запросов и использовать таймер для ожидания пока WebBrowser.IsBusy
не вернет false.
Если вместо этого занятое состояние связано с одним или несколькими открытыми диалоговыми окнами блокировки, вы можете сделать один и тот же метод ожидания и, возможно, Messagebox.Show()
пользователь получит сообщение о том, что ожидающая навигация задерживается из-за открытого диалогового окна.
Ответ 2
У меня была такая же проблема. Вызов WebBrowser.Stop()
не помог, а WebBrowser.IsBusy
никогда не становился ложным.
Оказывается, что если страница создает какой-либо диалог (alert()
всплывающие окна, ошибки JavaScript, всплывающие окна NTLM и т.д.), вы не можете перейти от страницы до закрытия диалога.
Мое решение состояло в том, чтобы не показывать диалоги в первую очередь. Видимо, предотвращение всех этих всплывающих окон является простым; просто установите
webBrowser.ScriptErrorsSuppressed = true;
Ответ 3
bool go = false;
string SiteContent1 = string.Empty;
string SiteContent2 = string.Empty;
int index = 0;
WebBrowser wb = new WebBrowser();
void wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
try
{
if (go)
{
SiteContent2 = wb.DocumentText;
// Code to compare to contents of the webbrowser
index++;
go = false;
steps = 1;
}
if (!go)
{
if (index >= TotalSiteCount)
{
Stop();
}
else if (steps == 1)
{
wb.Navigate(UrltocompareList[index].Url1);
}
else if (steps == 2)
{
SiteContent1 = wb.DocumentText;
wb.Navigate(UrltocompareList[index].Url2);
go = true;
}
steps++;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
UrltocompareList - это коллекция из 2 сайтов для сравнения.
TotalSiteCount - это количество элементов в UrltocompareList.
Форма для этого наследует IOleClientSite для удаления носителя, такого как изображения, видео и без активной загрузки X, чтобы иметь более быстрое время рендеринга в управлении веб-браузером.
Я использую этот метод вместо system.net.webclient, чтобы получить html веб-страницы, а затем сравнить их.
Я получил эту ошибку, когда она попадает в метод wb.Navigate.
Ответ 4
Проблема, с которой я столкнулась при запуске тестов на проверку стека с помощью watin в Windows 10, заключается в том, что win10 по умолчанию использует MS Edge, поэтому я никогда не открывал IE, и, когда начался запуск, IE застрял в подсказке для использования настроек по умолчанию. Выбор параметров, закрытие браузера и выполнение тестов снова сработали для меня.
Просто что посмотреть
Ответ 5
Первая попытка
1- Просматривайте URL-адрес перехода (если вы проверите, пожалуйста, проверьте снова скомпилированную папку)
2- Удалить элемент управления WebBrowser и добавить новый
Я забыл скопировать исходный файл App.Path + "\ error.html" и увидеть эту проблему.
Гарантийный метод
I Исправьте эту ошибку в VB6
Добавить WebBrowserControl wb (0) (Имя wb, Index = 0)
И перед тем, как перемещаться
For i = 1 To wb.UBound
Unload wb(i)
Next
Load wb(1)
wb(0).Visible = False
wb(1).Visible = true
wb(1).Navigate URL
Ответ 6
Я столкнулся с этой проблемой во время работы VB6
ошибка времени выполнения '-2147024726 (800700aa)' Ошибка автоматизации Запрашиваемый ресурс используется
Как решить проблему, можете ли вы помочь в этом шаг за шагом
Пожалуйста, помогите мне
Спасибо Vinoth
Ответ 7
Это можно решить довольно легко.
Эта ошибка возникает, когда браузер совершает действие, пока он уже выполняет действие.
Например, вы переходите на какой-то веб-сайт, пока вы правы в веб-браузере.
Чтобы решить эту проблему, я сделал следующее:
//if my webbrowser isn't performing any actions
if(!myWebBrowser.IsBusy)
{
//Navigate
myWebBrowser.Navigate("http://www.google.com");
}