[R] Blocage Autoit/IE/popup java:exemple inside
Posté : mer. 11 mai 2011 11:50
Bonjour
Je remets ici en 1er le problème qui m'occupe. Voici ce script qui lance une page toute bête en java.
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:
---------------- 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:
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/
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é")
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 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/