Я пытаюсь автоматизировать получение отчета с клиентского портала.
Выяснил, как манипулировать экземплярами, если IE, как перемещаться по фреймам. Несколько других препятствий.
У меня до 1 кнопки, которую я не могу нажать, не используя sendkeys для перехода по всей странице вверх.
(слегка санированный) HTML для элемента im пытается нажать:
<span class="logoff_container" id="logoff">
<span tabindex="0" title="Log off" class="logofflink logofflinkNormal" id="buttonlogoff" onmouseover="logofflink._handlers.onlogofflinkMouseHover('buttonlogoff');" onmouseout="logofflink._handlers.onlogofflinkOut('buttonlogoff');" onmousedown="logofflink._handlers.onlogofflinkMouseDown('buttonlogoff');" onfocus="logofflink._handlers.onlogofflinkMouseHover('buttonlogoff');" onblur="logofflink._handlers.onlogofflinkOut('buttonlogoff');">
<span class="button_inner">Log off</span></span></span>
Используя эту логику sendkeys c, я могу успешно открыть диалоговое окно выхода из системы:
''Logout
For i = 1 To 32
Application.SendKeys "+{Tab}"
Application.Wait (Now + TimeValue("0:00:01") * 0.55)
Next i
Application.Wait (Now + TimeValue("0:00:03"))
Application.SendKeys "~"
Я хочу иметь возможность выйти из системы появляется диалоговое окно с этим:
IE.document.getElementByID("buttonlogoff").Click
В качестве go я пробовал это, и оно не работает (элемент фокусируется. Класс элемента изменяется. Окно выхода из системы не открывается ).:
Set LogOffButton = IE.document.getElementById("buttonlogoff")
LogOffButton.Focus
Application.SendKeys "~"
Я тыкал и подталкивал до тошноты. Я могу со 100% уверенностью сказать, что getElementByID успешно получает элемент HTML Span. Я пробовал каждую последовательность .FireEvent до щелчка. Я попытался захватить элемент ячейки таблицы HTML, в котором находятся эти элементы, и щелкнуть по нему.
Я при жизни не могу понять, почему щелчок правой и левой кнопкой мыши открывает окно, при нажатии на клавиатуре и нажатии клавиши ввода открывается окно application.sendkeys, и ожидание в течение минуты (почти всегда) работает, но .focus> SendKeys и .click на элементе не открывают окно.
Любой шанс для руководство по взлому этой головоломки?