Page 1 sur 1
[..] Fenetre IE non reconnue par WinExists
Posté : mer. 23 déc. 2015 00:44
par crisfiz
Bonjour,
d'abord je suis nouveau, alors désolé si mes questions vous paraissent simples. J'utilise AutoIt depuis peu, et j'ai réussi à automatiser plusieurs trucs, très content.
Bref mon problème : j'ouvre une fenêtre IE, et la fonction WinExists ne reconnait pas cette fenêtre. Ca marche avec Chrome, mais pas IE, et je dois utiliser IE. Voilà le morceau concerné de mon script :
ShellExecute ("iexplore.exe","
https://acrim.clinicalconductor.com/CCE ... mHome.aspx")
If WinExists ("Clinical Conductor Home") Then .......
Je mets en pièces jointes la fenêtre ouverte, ainsi que les 3 infos différentes de AutoIt window info, suivant l'endroit de la fenêtre ou je clique.
J'y ai passé des heures, je ne sais plus quoi faire. Merci de votre aide !
Re: [..] Fenetre IE non reconnue par WinExists
Posté : mer. 23 déc. 2015 01:15
par orax
Par défaut il faut mettre également le début du titre à rechercher.
WinTitleMatchMode Alters the method that is used to match window titles during search operations.
1 = (default) Match the title from the start
2 = Match any substring in the title
3 = Exact title match
4 = Advanced mode (retained for backwards compatibility only - see Window Titles & Text (Advanced))
-1 to -4 = Case insensitive match according to the other type of match.
Pour changer ce comportement on peut faire :
Code : Tout sélectionner
Opt("WinTitleMatchMode", 2)
ShellExecute ("iexplore.exe","https://acrim.clinicalconductor.com/CCEWeb/Forms/frmHome.aspx")
WinWait("Clinical Conductor Home")
S'il y a les instructions "
If WinExists ("Clinical Conductor Home") Then" juste après
ShellExecute ça ne peut pas marcher. La page n'aura même pas eu le temps de se charger que le script cherchera déjà si la fenêtre "Clinical Conductor Home" existe. C'est pourquoi j'ai mis WinWait à la place. Cette fonction sert à attendre que la fenêtre soit trouvée.
Mais le mieux est même de faire :
Code : Tout sélectionner
#include <ie.au3>
$oIE=_IECreate("https://acrim.clinicalconductor.com/CCEWeb/Forms/frmHome.aspx")
If Not @error Then ...
D'ailleurs, si tu comptes automatiser IE par la suite, tu pourras te servir des fonctions commençant par _IE.
Re: [..] Fenetre IE non reconnue par WinExists
Posté : mer. 23 déc. 2015 13:30
par crisfiz
Alors merci pour les explications, je vais tester ça ce soir. J'avais déjà mis le nom complet de la fenêtre, et j'avais aussi changé le WinTitleMatchMode, mais tout ça sans succès.
Re: [..] Fenetre IE non reconnue par WinExists
Posté : mer. 23 déc. 2015 16:35
par crisfiz
Nickel ! Ca marche. Par contre je me retrouve un peu plus loin dans mon script avec le même souci de page non reconnue. J'ai essayé de trouver une fonction _IExxxxx, mais je n'y arrive pas. Y a t'il une fonction qui permet de savoir si une fenêtre spécifique est ouverte ?
Merci
Re: [..] Fenetre IE non reconnue par WinExists
Posté : mer. 23 déc. 2015 17:43
par orax
_IEPropertyGet avec "locationurl" ou "title" pour récupérer le titre ou l'URL.
Il y a aussi les fonctions String* qui peuvent être utiles dans ce cas. StringInStr en particulier.
Re: [..] Fenetre IE non reconnue par WinExists
Posté : mer. 23 déc. 2015 21:56
par jguinch
Moi je verrais bien un _IEAttach
Re: [..] Fenetre IE non reconnue par WinExists
Posté : jeu. 24 déc. 2015 03:44
par crisfiz
Merci à vous. Le _IEAttach fonctionne bien, mon script est validé. A bientôt
Re: [..] Fenetre IE non reconnue par WinExists
Posté : jeu. 24 déc. 2015 07:32
par jguinch
Merci de passer le titre du premier message en [R] si c'est OK