_IEAttach
Присоединеняется к указанному экземпляру Internet Explorer, в котором найдено соответствие строки (на основе выбранного режима).
#include <IE.au3>
_IEAttach($s_string [, $s_mode = "Title" [, $i_instance = 1]])
Параметры
$s_string | Строка для поиска (для "встроенных" или "диалоговых окон", используя строку заголовка или дескриптор окна) |
$s_mode |
[необязательный] Режим поиска Title = (по умолчанию) строка заголовка основного документа WindowTitle = полная строка заголовка окна (вместо заголовка документа) URL = строка или url текущей страницы Text = строка в тексте из body (видимого содержимого) текущей страницы HTML = строка в html из body текущей страницы HWND = дескриптор окна браузера Embedded = строка заголовка или дескриптор окна встроенного элемента DialogBox = строка заголовка или дескриптор модального / немодального диалогового окна Instance = параметр $s_string игнорируется, возвращается единственная ссылка на браузер (по номеру экземпляра) из всех доступных экземпляров браузера. |
$i_instance |
[необязательный] Индекс в группе браузеров или встроенных браузеров, соответствующих $s_string и $s_mode, отсчёт от 1. См. примечания. |
Возвращаемое значение
Успех: | Возвращает переменную объекта, указывающую на объект InternetExplorer для всех, кроме режимов Embedded и DialogBox, которые возвращают объект окна |
Ошибка: | Возвращает 0 и устанавливает @error |
@error: | 0 ($_IEStatus_Success) = Нет ошибок |
5 ($_IEStatus_InvalidValue) = Неверное значение | |
7 ($_IEStatus_NoMatch) = Нет совпадений | |
@extended: | Содержит номер неверного параметра |
Примечания
_IEAttach() provides the "dialogbox" parameter to attach to modal and modeless dialogs created by the browser. It is important to note that not all dialogs created through browser interaction can be attached to and controlled in this way. Many of these dialogs are actually standard windows and can be controlled through the traditional AutoIt window functions. A reliable way to tell the difference between these types of windows is to use the "AutoIt Window Info" tool to examine it -- if the window contains a control called "Internet Explorer_Server" then you can attach to it with this function, if it does not it is a standard window and traditional AutoIt windows functions must be used to control it.См. также
_IECreate, _IECreateEmbedded, _IEQuitПример
#include <IE.au3>
; Пример 1 - Присоединяется к браузеру, в заголовке которого "AutoIt", получает его URL
$oIE = _IEAttach("AutoIt")
MsgBox(4096, "URL", _IEPropertyGet($oIE, "locationurl"))
; Пример 2 - Присоединяется к браузеру с текстом "Быстрая рыжая лиса" на его странице
$oIE = _IEAttach("Быстрая рыжая лиса", "text")
; Пример 3 - Присоединяется к элементу браузера, встроенного в другом окне
$oIE = _IEAttach("Заголовок окна", "embedded")
; Пример 4 - Присоединяется к 3-ему элементу браузера, встроенного в другом окне
; Используйте расширенный синтаксис заголовка окна,
; чтобы использовать 2-е окносо строкой 'ICQ' в заголовке
$oIE = _IEAttach("[REGEXPTITLE:ICQ; INSTANCE:2]", "embedded", 3)
; Пример 5 - Создаёт массив ссылок на объекты для всех текущих экземпляров браузера
; Первый элемент массива будет содержать количество найденных экземпляров
Local $aIE[1]
$aIE[0] = 0
$i = 1
While 1
$oIE = _IEAttach("", "instance", $i)
If @error = $_IEStatus_NoMatch Then ExitLoop
ReDim $aIE[$i + 1]
$aIE[$i] = $oIE
$aIE[0] = $i
$i += 1
WEnd
MsgBox(4096, "Найдено браузеров", "Количество экземпляров браузеров в массиве: " & $aIE[0])