Функция _IELoadWait

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


_IELoadWait

Ожидает завершения загрузки страницы браузера перед продолжением.

#include <IE.au3>
_IELoadWait(ByRef $o_object [, $i_delay = 0 [, $i_timeout = -1]])

Параметры

$o_object Переменная объекта InternetExplorer.Application или DOM элемент
$i_delay [необязательный] Время ожидание в миллисекундах перед началом проверок состояния.
$i_timeout [необязательный] Максимальное время ожидания перед принудительным выходом из функции (по умолчанию = 300000 мс, т.е 5 мин)

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

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

Примечания

Несколько функций IE.au3 вызывают _IELoadWait() автоматически (например _IECreate(), _IENavigate() и т.д.). Большинство функций, которые делают это также позволяют выключить параметр $f_wait, если вы не хотите ждать или хотите, но вызвать функцию самостоятельно.

When document objects or DOM elements are passed to _IELoadWait(), it will check the readyState of the container elements up to and including the parentWindow.

Ограничение безопасности браузера иногда может препятствовать _IELoadWait() гарантированно загрузить страницу и иногда может привести к неуловимым ошибкам. В этом случае необходимо избегать вызова _IELoadWait() и попытаться использовать другие методы гарантирующие успешное завершение загрузки страницы. Эти методы могут включать использование команды Sleep, проверки текста строки состояния браузера и т.д. При использовании функций, которые вызывают _IELoadWait() для других объектов, не считая объекта InternetExplorer (браузер), вы можете также успешно вызвать _IELoadWait() для браузера самостоятельно (например _IELoadWait($oIE)).

The most common causes of trouble are page redirects and cross-site scripting security restrictions associated with frames. Page re-writing techniques employed by some applications (e.g. Gmail) can also cause trouble here.

См. также

_IELoadWaitTimeout, _IECreate, _IENavigate, _IEFormSubmit, _IELinkClickByText, _IELinkClickByIndex, _IEImgClick, _IEFormImageClick, _IEBodyWriteHTML, _IEDocWriteHTML, _IEAction

Пример

#include <IE.au3>
$oIE = _IECreate("http://www.autoitscript.com/forum/index.php") ; Открывает страницу форума AutoIt (ожидание конца загрузки по умолчанию)
Send("{TAB 12}") ; С помощью клавиши табуляции выбирает "View new posts" (Показать новые ответы)
Send("{ENTER}") ; Нажатием клавиши Enter активирует ссылку
_IELoadWait($oIE) ; Ожидает загрузку страницы, прежде чем продолжить