UDF > IE >


_IELoadWait

Attend qu'une page du navigateur se charge complètement avant de retourner

#include <IE.au3>
_IELoadWait ( ByRef $oObject [, $iDelay = 0 [, $iTimeout = -1]] )

Paramètres

$oObject Variable objet InternetExplorer.Application ou élément DOM
$iDelay [optionnel] Nombre de millisecondes à attendre avant de vérifier l'état
$iTimeout [optionnel] Délai d'attente avant que la fonction retourne(par défaut = 300000 ms soit 5 min)

Valeur de retour

Succès: Retourne 1.
Échec: Retourne 0 et définit @error <> 0.
@error: 1 ($_IEStatus_GeneralError) - Erreur générale
3 ($_IEStatus_InvalidDataType) - Type de donnée invalide
4 ($_IEStatus_InvalidObjectType) - Type d'objet invalide
6 ($_IEStatus_LoadWaitTimeout) - Délai de chargement dépassé
8 ($_IEStatus_AccessIsDenied) - Accès refusé
9 ($_IEStatus_ClientDisconnected) - Client déconnecté
@extended: Contient le nombre de paramètres invalides

Remarques

Plusieurs fonctions de IE.au3 appellent _IELoadWait() automatically (exemple: _IECreate(), _IENavigate() etc.).
La plupart des fonctions qui font cela vous permettent également de désactiver cette option avec le paramètre $iWait si vous ne voulez pas attendre ou si vous voulez l'appeler vous-même.

Lorsque des objets d'un document ou des éléments DOM sont passés à _IELoadWait() , la fonction va vérifier le "readyState" des éléments conteneurs jusqu'à et y compris la fenêtre parent.

Les restrictions de sécurité des scripts du navigateur peuvent parfois empêcher _IELoadWait() de garantir qu'une page est complètement chargée et peuvent parfois entraîner des erreurs non levées.
Dans ces cas, vous devrez peut-être éviter de faire appel _IELoadWait() et tenter d'utiliser d'autres méthodes pour vous assurer que le chargement de la page est terminée.
Ces méthodes pourraient inclure l'utilisation de la commande Sleep, l'examen du texte de la barre d'état du navigateur et d'autres méthodes. Lors de l'utilisation de fonctions qui appellent _IELoadWait() pour des objets autres que l'objet InternetExplorer (navigateur), vous pouvez aussi réussir en appelant _IELoadWait() pour votre propre navigateur (par exemple, _IELoadWait($OIE)).

Les causes les plus courantes de problèmes sont les redirections de page et les restrictions de sécurité croisées pour les scripts associés avec des Frames. Les techniques de page re-écrites employées par certaines applications (par exemple Gmail) peuvent aussi causer des problèmes ici.

En relation

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

Exemple

; Ouvre la page du forum AutoIt, tabule vers "View new posts"
; active le lien avec la touche Enter.
; Attende ensuite que le chargement de la page se termine avant de poursuivre.

#include <IE.au3>

Local $oIE = _IECreate("http://www.autoitscript.com/forum/index.php")
Send("{TAB 12}")
Send("{ENTER}")
_IELoadWait($oIE)