Как я могу решить эту ошибку?
"Запрашиваемый ресурс используется. (Исключение из HRESULT: 0x800700AA)".
Это отображается при навигации на другом веб-сайте с использованием элемента управления WebBrowser в С#.NET. Почему?
Как я могу решить эту ошибку?
"Запрашиваемый ресурс используется. (Исключение из HRESULT: 0x800700AA)".
Это отображается при навигации на другом веб-сайте с использованием элемента управления WebBrowser в С#.NET. Почему?
Элемент управления WebBrowser считается "используемым", если в настоящее время обрабатывается какое-либо действие навигации, или в настоящее время открыто любое диалоговое окно блокировки из элемента управления (включая контекстное меню, предупреждения Javascript, диалоговое окно входа в систему NTLM и т.д.). Вы можете использовать свойство WebBrowser.IsBusy
для обнаружения этих состояний.
Если из-за неполного действия навигации вы можете попытаться остановить текущую навигацию (если вы действительно хотите остановиться, когда страница не загружена) или добавить новую навигацию в очередь запросов и использовать таймер для ожидания пока WebBrowser.IsBusy
не вернет false.
Если вместо этого занятое состояние связано с одним или несколькими открытыми диалоговыми окнами блокировки, вы можете сделать один и тот же метод ожидания и, возможно, Messagebox.Show()
пользователь получит сообщение о том, что ожидающая навигация задерживается из-за открытого диалогового окна.
У меня была такая же проблема. Вызов WebBrowser.Stop()
не помог, а WebBrowser.IsBusy
никогда не становился ложным.
Оказывается, что если страница создает какой-либо диалог (alert()
всплывающие окна, ошибки JavaScript, всплывающие окна NTLM и т.д.), вы не можете перейти от страницы до закрытия диалога.
Мое решение состояло в том, чтобы не показывать диалоги в первую очередь. Видимо, предотвращение всех этих всплывающих окон является простым; просто установите
webBrowser.ScriptErrorsSuppressed = true;
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.
Проблема, с которой я столкнулась при запуске тестов на проверку стека с помощью watin в Windows 10, заключается в том, что win10 по умолчанию использует MS Edge, поэтому я никогда не открывал IE, и, когда начался запуск, IE застрял в подсказке для использования настроек по умолчанию. Выбор параметров, закрытие браузера и выполнение тестов снова сработали для меня.
Просто что посмотреть
Первая попытка
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
Я столкнулся с этой проблемой во время работы VB6
ошибка времени выполнения '-2147024726 (800700aa)' Ошибка автоматизации Запрашиваемый ресурс используется
Как решить проблему, можете ли вы помочь в этом шаг за шагом
Пожалуйста, помогите мне
Спасибо Vinoth
Это можно решить довольно легко. Эта ошибка возникает, когда браузер совершает действие, пока он уже выполняет действие. Например, вы переходите на какой-то веб-сайт, пока вы правы в веб-браузере. Чтобы решить эту проблему, я сделал следующее:
//if my webbrowser isn't performing any actions
if(!myWebBrowser.IsBusy)
{
//Navigate
myWebBrowser.Navigate("http://www.google.com");
}