[R] Blocage Autoit/IE/popup java:exemple inside

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

[R] Blocage Autoit/IE/popup java:exemple inside

#1

Message par sksbir »

Bonjour
Je remets ici en 1er le problème qui m'occupe. Voici ce script qui lance une page toute bête en java.

Code : Tout sélectionner

#include <IE.au3>
$Oie=_IECreate("http://sksbir.free.fr/test_html_popup_java.htm")
_IELoadWait($Oie)
$o_bouton=_IEGetObjByName($Oie,"bouton")
_IEAction($o_bouton, "Click")
MsgBox(0,"test","script terminé")
 
Vous pouvez le lancer, hé ben la msgbox de la fin ne s'affichera que quand vous aurez fermé les pop-up de IE!!

Alors, c'est normal ça ??

Voici un script réentrant qui contourne le soucis, mais je me demande si c'est bien normal de devoir en arriver à ça:
► Afficher le texte

---------------- ci dessous l'historique de mon soucis, et comment j'en suis arrivé au test ci-dessus...


Je pense que le problème a déjà été rencontré ici (Récuperer un Fichier sur un site web avec IE6/7), mais mal identifié.

Voici un bout de script qui se déroule sur une page de paramétrage d'une imprimante: Je clique sur le bouton "sauver" de la fenetre en question via _IEAction.
Qu'on le fasse à la main, ou via le script, le fait de cliquer sur ce bouton présent sur la page de paramétrage fait que IE démarre une fenetre pop-up de confirmation du style "voulez vous? oui /non".

Du coup, j'étais parti comme makakiel ( cf lien ci-dessus) à essayer de comprendre pourquoi la commande
ControlClick("Windows Internet Explorer","Souhaitez-vous?","[CLASS:Button; INSTANCE:1]") ne fonctionnait pas.

Mais en fait, le comportement de l'icone d'Autoit dans la systray m'a mis la puce à l'oreille : impossible de terminer le programme tant que la fenetre pop-up générée par IE n'a pas été fermée d'une façon ou d'une autre. De plus, l'icone a vraiment un comportement inhabituel : elle "scintille"....

Pour le vérifier, j'ai refais un bout de code comme ci-dessous:

Code : Tout sélectionner

$o_sauver = _IEGetObjByName($oframe_Titre,"SAVE")
_IEAction($o_sauver, "Click")
; et boum, une fenetre pop-up!!, et ça bloque autoit...
msgbox(0,"TEST","verra verra pas??")
Et j'ai la preuve du blocage : autoit ne m'affiche pas la pop-up "verra verra pas" tant que je n'ai pas fermé la pop-up générée par Internet Explorer.
Et là, je peux pas me faire un _Ienavigate avec l'option 0 pour "déconnecter" IE de Autoit comme le fait makakiel...

Voici le code source du bouton "enregistrer":
<INPUT CLASS="clsBody" TYPE="button" NAME="Save" VALUE="Enregistrer" ONCLICK='fnnSaveChanges("frmScanToFile")'>
Et bien sur, c'est du java, et dedans, je trouve lbresult = confirm("Souhaitez-vous?");, ce qui doit générer le pop-up...


probleme similaire détecté ici : http://www.autoitscript.com/forum/topic ... opup-hang/
Modifié en dernier par sksbir le jeu. 12 mai 2011 10:37, modifié 1 fois.
Avatar du membre
sksbir
Niveau 7
Niveau 7
Messages : 384
Enregistré le : lun. 26 oct. 2009 17:57
Localisation : Lyon
Status : Hors ligne

Re: [..] Blocage Autoit/IE/popup java:exemple inside

#2

Message par sksbir »

Merci à tous de m'avoir lu. La solution vient du forum anglais : Il suffit d'appliquer la solution dans l'aide d'autoit: voir l'aide de la commande _IEAction, le 2eme script en exemple.

Voici le script de démo qui va bien :
► Afficher le texte
Répondre