Page 1 sur 1
[R] Attendre téléchargement fichier dans une fenêtre
Posté : mar. 03 mars 2009 23:16
par touslesmatins
Bonjour,
Je souhaite pouvoir attendre le telechargement complet d un fichier d une fenetre avant de continuer le script. Je pensais à ce bout de script mais cela ne fonctionne pas...
► Afficher le texte
Code : Tout sélectionner
AutoItSetOption("WinTitleMatchMode", 2)
MouseClick("left",648,446);Ouvre popup qui ouvre un fichier
$x = StatusbarGetText("[active]","Terminé")
while $x<>"terminé"
sleep(100)
wend
MsgBox(0, "Internet Explorer's status bar says:", $x)
ControlSend("[ACTIVE]", "", "", "+^s");save as
Merci
Re: Attendre telechargement d un fichier dans une fenetre
Posté : mar. 03 mars 2009 23:24
par Tlem
Hmmmm 35 messages et vous ne respectez toujours pas les règles de présentation d'un post !!!

Re: [..]Attendre telechargement d un fichier dans une fenetre
Posté : mar. 03 mars 2009 23:31
par touslesmatins
Bonsoir,
Quelle étourderie, en effet c'est pas faute de le savoir. Corrigé. Merci.
Une petite idee sur la question ?
merci
Re: [..]Attendre telechargement d un fichier dans une fenetre
Posté : mar. 03 mars 2009 23:33
par Tlem
Pourquoi ne gérez vous pas vous même le téléchargement par InetGet ?
Re: [..]Attendre telechargement d un fichier dans une fenetre
Posté : mer. 04 mars 2009 00:02
par touslesmatins
Bonsoir, Je pense que cette fonction ne peux pas etre utilisée dans ce cas. Le fichier qui s affiche dans un popup est different à chaque fois et ce fichier, une fois telechargé est traité differement selon des conditions precises (via un script).
C'est pour cela que je cherche à faire ce bout de script, j ai aussi essaye via la statusbar avec
► Afficher le texte
Code : Tout sélectionner
$x = StatusbarGetText("","Terminé")
If $x<>"terminé" then ..... (......je cherche la cde pour qu il attende le telechargement complet ....)
If $x="terminé" then MsgBox(0, "Internet Explorer's status bar says:", $x)
. Mais j'ai subi un autre echec....
Merci pour votre aide.
Re: [..]Attendre telechargement d un fichier dans une fenetre
Posté : mer. 04 mars 2009 01:13
par Iste
Code : Tout sélectionner
$x = StatusbarGetText("[active]","Terminé")
while $x<>"terminé"
sleep(100)
wend
pas bon, $x changera jamais
Code : Tout sélectionner
while $x<>"terminé"
$x = StatusbarGetText("[active]","Terminé")
sleep(100)
wend
un peu mieux, mais j'ai rien testé ^^
Re: [..]Attendre telechargement d un fichier dans une fenetre
Posté : mer. 04 mars 2009 02:04
par touslesmatins
Bonsoir,
Merci à vous Iste, mais cela ne fonctionne pas, la boucle ne fonctionne pas...
Une autre idée? peut etre que avec statusbar ce n est pas la bonne piste....peut etre....
Bonsoir
Re: [..]Attendre telechargement d un fichier dans une fenetre
Posté : mer. 04 mars 2009 03:45
par Iste
hum... essaye avec ca :
Normalement cette boucle devrait continuer tant que la fenere active ne contien pas de mot "Terminé"
Re: [..]Attendre telechargement d un fichier dans une fenetre
Posté : mer. 04 mars 2009 07:37
par Tlem
Effectivement, si vous ne pouvez gérer vous même le téléchargement et que le passage vers ce fameux popup est obligé, il faudrait avoir plus d'info sur le comportement de ce popup en fonction des actions !
Regardez comme le suggère Iste le titre de la fenêtre, ou un autre élément qui peut être contrôlé pour indiquer l'état du téléchargement.
Re: [..]Attendre telechargement d un fichier dans une fenetre
Posté : dim. 08 mars 2009 01:41
par touslesmatins
Bonsoir,
Apres differentes commandes et moults essais, j'ai suivi votre conseil. J'utilise la commande InetGet.
Voilà comment ca se passe, le script se deroule et ouvre une page html sur laquelle se trouve des liens, le script selectionne un lien et ouvre un popup (la page principale etant toujours à l ecran, mais en arriere plan, je me retrouve avec le popup en avant.)
La question = Comment capturer l'adresse Http de ce popup. (l adresse safiiche sur le titre et l'edit 1).
Voici quelques donnees (le titre du popup change à chaque ouverture de fichier):
Edit1
Advanced (Class): [CLASS:Edit; INSTANCE:1]
ID: 41477
Ensuite je pourrais faire :
$u=clipget()
InetGet($u, "C:\a"&".txt")
Ou sinon peut etre y a t il une autre methode pour obtenir le lien HTTP.
Merci
Re: [..]Attendre telechargement d un fichier dans une fenetre
Posté : dim. 08 mars 2009 01:56
par touslesmatins
Suite...
Le lien que je souhaite obtenir se trouve dans un tableau
► Afficher le texte
Code : Tout sélectionner
$oTable = _IETableGetCollection ($oIE,13)
$aTableData = _IETableWriteToArray ($oTable, TRUE)
$hte=$aTableData[1][9]
Je click sur le lien et un popup s'ouvre correctement dans lequel se trouve un fichier que je souhaite enregistrer, alors ou par un "enregistrer sous" ou de preference capturer l adresse http.
(lorsque je fais : ControlClick("", "", "[CLASS:Edit; INSTANCE:1]","right") > ca internient sur la page principal et non pas sur la fenetre poput que j essaie d atteindre

)
Voilà j espere que c est plus clair.
Est ce possible?
Merci
Re: [..]Attendre telechargement d un fichier dans une fenetre
Posté : mar. 10 mars 2009 02:12
par touslesmatins
Bonsoir,
Merci à vous.
Sujet clos grace à Inetget.