UDF > IE >


_IENavigate

Demande à une fenêtre existante du navigateur d'accéder à une URL donnée

#include <IE.au3>
_IENavigate ( ByRef $oObject, $sUrl [, $iWait = 1] )

Paramètres

$oObject Variable objet InternetExplorer.Application, Window ou objet Frame
$sUrl URL à laquelle accéder (par exemple, "http://www.autoitscript.com")
$iWait [optionnel] Spécifie s'il faut attendre que la page soit chargée avant de retourner
    0 = retourne immédiatement, sans attendre que la page soit chargée
    1 = (par défaut) Attend que le chargement de la page soit terminé avant de retourner

Valeur de retour

Succès: Aucun retour.
Échec: Retourne 0 ou -1 et définit @error <> 0.
@error: 1 ($_IEStatus_GeneralError) - Erreur générale
2 ($_IEStatus_COMError) - Erreur COM dans une référence d'objet
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

Cette fonction retourne toujours la valeur -1.
C'est parce que la méthode Naviguate n'a pas de valeur de retour utile et donc rien ne peut être déduit de cette valeur.
Vous aurez besoin d'utiliser d'autres méthodes pour déterminer le succès ou l'échec de la navigation.

Les nouvelles sécurités de Windows Vista obligent la création d'une nouvelle fenêtre de navigation lorsque le navigateur doit naviguer vers une URL d'une zone de sécurité différente.
Cela se produit aussi bien avec la création initiale qu'avec la navigation initié par _IECreate() . La nouvelle fenêtre est une nouvelle instance du navigateur et la variable objet navigateur précédente ne pointe plus sur elle.
Il existe plusieurs solutions:
    1) ajouter #RequireAdmin à votre code (ce qui est nécessaire, même si le compte fait partie du groupe de administrateur et demander les informations si nécessaire),
    2) utiliser _IEAttach() pour se connecter à la nouvelle fenêtre de navigateur
    3) ajouter le site web cible à la zone de sécurité des Sites de confiance dans Internet Explorer,
    4) désactiver "Protected Mode" dans IE,
    ou 5) désactiver l'UAC. Il faut prendre soin de comprendre les conséquences de la désactivation des fonctions de sécurité de IE lors de l'accés à des sites non sécurisés.

En relation

_IECreate, _IECreateEmbedded, _IELoadWait

Exemple

Exemple 1

; Crée une fenêtre de navigateur et accède à un site web,
; attend 5 secondes et accède à un autre
; attend 5 secondes et accède à un autre

#include <IE.au3>

Local $oIE = _IECreate("www.autoitscript.com")
Sleep(5000)
_IENavigate($oIE, "http://www.autoitscript.com/forum/index.php?")
Sleep(5000)
_IENavigate($oIE, "http://www.autoitscript.com/forum/index.php?showforum=9")

Exemple 2

; Crée une fenêtre de navigateur et accède à un site web,
; n'attend pas que la page soit chargée complètement avant de passer à la ligne suivante

#include <IE.au3>
#include <MsgBoxConstants.au3>

Local $oIE = _IECreate("www.autoitscript.com", 0)
MsgBox($MB_SYSTEMMODAL, "_IENavigate()", "This code executes immediately")