Я создаю приложение на C # с элементом управления WebBrowser и пытаюсь найти способ заставить флэш-контент на веб-странице не отображаться, поскольку он высасывает тонну измой процессор и память.Я пытался удалить тег <object>
на странице (есть только один), получив его через browser.Document.GetElementsByTagName ("object") и установив его externalHtml в пустую строку.Он возвращает один элемент (подтверждается свойством Count), но доступ к первому элементу ([0]) дает индекс ошибки вне диапазона.Я пытался сделать это с помощью цикла foreach, но ничего не происходит и ошибок нет.Если я пытаюсь получить элементы <div>
вместо элементов <object>
, цикл foreach запускается.Я что-то здесь не так делаю, есть ли ошибка, или есть лучший способ удалить флэш-контент?Любая помощь с благодарностью.
Мой код:
HtmlElementCollection flashElements = webBrowser.Document.GetElementsByTagName("object");
foreach (HtmlElement element in flashElements)
{
element.OuterHtml = "";
MessageBox.Show("Deleted");
}
Кстати, это выполняется после Событие DocumentCompleted было запущено.
РЕДАКТИРОВАТЬ: Я только что понял, что во время вызова события DocumentCompleted оно вызывается до того, как JavaScript внедряет флэш-контент на страницу.Я попробовал несколько «спящих» методов, но все они также мешают обработке веб-страницы.Можно ли ждать больше времени (5 секунд или около того), пока веб-страница продолжает отображаться?