#vba #jsp #internet-explorer #automation #web-crawler
#vba #jsp #internet-Explorer #Автоматизация #веб-сканер
Вопрос:
Мы пытаемся выполнить веб-сканирование VBA внутреннего веб-сайта, и все шло нормально, пока мы не нажмем на одну конкретную метку.
Мы можем настроить таргетинг на метку и щелкнуть по ней без проблем. Это приводит к появлению всплывающего окна, и на экран загружаются дополнительные данные. При нажатии вручную информация отображается нормально. Однако, когда мы нажимаем с помощью VBA, всплывающее окно выглядит так, как будто оно прикреплено к VBA. Появится всплывающее окно, и данные загружаются, но VBA прекращает обработку, но в тот момент, когда мы закрываем всплывающее окно, VBA возобновляется. В коде нет ошибок — он приостанавливает код.
Мы считаем, что веб-сайт взаимодействует с VBA, потому что нам не нужно писать код, заставляющий IE ждать загрузки страницы; следующая строка кода выполняется в момент загрузки каждого экрана.
Вот код в DOM для метки:
<LABEL tabIndex=24 id=ID class=inputHref style="POSITION: absolute; LEFT: 5px; Z-INDEX: 200; TOP: 15px" attachedfunction="somefunction" defaultValue="undefined">Label Title</LABEL>
Мы считаем, что функция «attachedfunction» запускает что-то за кулисами, что останавливает VBA. Есть ли какой-либо способ обойти это? Любые идеи были бы полезны!
Спасибо.
РЕДАКТИРОВАТЬ 1:
Вот код VBA в классе, который нужно щелкнуть по ярлыку
Sub RepoSecureLink()
Set Me.htmlDoc = Me.Window.document.frames(1).document.frames(1).document.frames("iframeMain").document
Set Element = Me.htmlDoc.getElementById("ID")
Me.Element.Click ' Hard Stop - Popup Window
End Sub
Комментарии:
1. Можете ли вы использовать vba для закрытия всплывающего окна? О каком типе всплывающего окна мы говорим? Это окно. предупреждение или что-то еще? Нужно ли вручную отключать в настоящее время?
2. Пожалуйста, посмотрите Сообщение — оно было отредактировано, чтобы включить подраздел для щелчка по ярлыку
3. Мы не можем использовать VBA для закрытия всплывающего окна. Как только откроется экран, именно здесь VBA зависает — как будто он ожидает выполнения кода. Это не предупреждение об окне, это настоящее всплывающее окно, в котором содержится дополнительная информация. Мы можем отклонить его вручную — как только мы его отклоняем, мы снова получаем контроль над VBA из той же строки — без ошибок.
4. С помощью DoEvents вы не можете захватить дескриптор всплывающего окна и закрыть?
5. Мы можем использовать HWND в отдельном тестовом примере, но сначала мы хотим очистить данные в этом окне.