Функция _IELinkClickByText

 ↑  ←  Описание функции


_IELinkClickByText

Эмулирует клик мыши по ссылке с текстом под-строки совпадающей с указанным.

#include <IE.au3>
_IELinkClickByText(ByRef $o_object, $s_linkText [, $i_index = 0 [, $f_wait = 1]])

Параметры

$o_object Переменная объекта InternetExplorer.Application, объекта Окна или Фрейма (области)
$s_linkText Текст, отображаемый на веб-странице на который необходимо кликнуть
$i_index [необязательный] Индекс экземпляра, если текст ссылки встречается более одного раза, отсчёт от 0
$f_wait [необязательный] Указывает, ожидать ли загрузки страницы
0 = Возвратиться немедленно, не ожидая загрузки страницы
1 = (по умолчанию) Ожидать завершения загрузки страницы перед возвратом

Возвращаемое значение

Успех:Возвращает -1
Ошибка:Возвращает 0 и устанавливает @error
@error:0 ($_IEStatus_Success) = Нет ошибок
1 ($_IEStatus_GeneralError) = Общая ошибка
3 ($_IEStatus_InvalidDataType) = Неверный тип данных
4 ($_IEStatus_InvalidObjectType) = Неверный тип объекта
6 ($_IEStatus_LoadWaitTimeout) = Тайм-аут ожидания загрузки
7 ($_IEStatus_NoMatch) = Нет совпадений
8 ($_IEStatus_AccessIsDenied) = Отказано в доступе
9 ($_IEStatus_ClientDisconnected) = Клиент отключен
@extended:Содержит номер неверного параметра

Примечания

Не все элементы, выдающие себя за ссылки являются таковыми на самом деле.Это обычная практика для присоединения события onClick JavaScript к другим элементам DOM, чтобы имитировать поведение ссылок. Чтобы активировать такие элементы, используйте "клик" с помощью _IEAction().

См. также

_IELinkClickByIndex, _IELoadWait

Пример

#include <IE.au3>

; ====================================
; Пример 1 - Открывает пример страницы "basic",
;               кликает ссылку с текстом "user forum"

$oIE = _IE_Example("basic")
_IELinkClickByText($oIE, "user forum")

; ====================================
; Пример 2 - Открывает страницу AutoIt, проверяет все ссылки на странице
;               в цикле и кликает на той, что содержит текст "wallpaper"

$oIE = _IECreate("http://www.autoitscript.com")

$sMyString = "wallpaper"
$oLinks = _IELinkGetCollection($oIE)
For $oLink In $oLinks
    $sLinkText = _IEPropertyGet($oLink, "innerText")
    If StringInStr($sLinkText, $sMyString) Then
        _IEAction($oLink, "click")
        ExitLoop
    EndIf
Next