Page 1 sur 1

[..] Attendre le téléchargement de la page internet

Posté : mar. 31 mars 2009 04:47
par Firemen777
Salut, j'ai une petite question rapide pour vous. J'aimerais savoir si il excite une commande ou tout simplement un moyen pour mettre en pause un script en attendant qu'une page internet (Google Chrome en question ici) soit fini d'ouvrir.
Mon problème est que le temps d'ouverture de la page n'est jamais le même, donc mettre un sleep fixe trop grand me fait perdre du temps et le contraire va tout faire bugger mon script.

Merci beacoup de m'aider

Ps: J'ai chercher vite vite sur Google et sur le Forum, j'ai rien trouvé, si il a deja un post parlant de cela, juste me mettre le lien :D

Re: "Sleep" en atendant le téléchargement de la page internet

Posté : mar. 31 mars 2009 05:16
par orax
Si vous ouvrez une page avec IE, les foncitons _IENavigate, _IECreate attendent par défaut la fin du chargement de la page. Sinon vous avez aussi _IELoadWait.
Pour faire la même chose avec Firefox, il y a l'extension MozRepl et pour Google Chrome... aucune idée.

Re: "Sleep" en atendant le téléchargement de la page internet

Posté : mar. 31 mars 2009 06:07
par Firemen777
Merci beaucoup d'avoir répondu si vite a ma question ! Je vais essayer sa, puis pour Google Chrome , c'est pas vraiment important. IE va faire l'affaire.

Re: [R] Attendre le téléchargement de la page internet

Posté : mar. 31 mars 2009 07:12
par Tlem
@Firemen777

Pensez à passer par ici : règles de présentation d'un message.

Re: [R] Attendre le téléchargement de la page internet

Posté : mer. 01 avr. 2009 03:25
par Firemen777
Juste pour être sur de bien comprendre les différentes commandes, moi je veut que IE attende la fin du téléchargement après avoir cliquer sur un button dans la page... Donc j'utiliserais IEWait si je veux pas qu'il entre un URL mais bien qu'ils clique sur la page ?

Juste pour bien vous expliqué les étapes de mon scipt:
#1:Allez sur ma page internet DÉJÀ ouverte (donc IECreate marche pas, je pense :?: )
J'utilise

Code : Tout sélectionner

    If Not WinActivate("Le Site - Microsoft Internet Explorer") Then
    WinActivate("Le Site - Microsoft Internet Explorer")
    EndIf
#2:Je copie quelque chose sur la page
#3:Je CLIQUE sur un button (MouseClick) qui demande de rafraîchir de la page (C'est ici que je veut qu'il attendre le fin du loading)


Merci

Re: [..] Attendre le téléchargement de la page internet

Posté : mer. 01 avr. 2009 18:02
par orax

Code : Tout sélectionner

; vu dans l'aide
#include <IE.au3>
$oIE = _IECreate ("http://www.google.com")
$oForm = _IEFormGetObjByName ($oIE, "f")
$oQuery = _IEFormElementGetObjByName ($oForm, "q")
_IEFormElementSetValue ($oQuery, "AutoIt IE.au3")
_IEFormSubmit ($oForm) ; "clique" sur le bouton (pas besoin de MouseClick()) (cherchez aussi les fonctions _IE...Click...() si ça ne vous convient pas)

MsgBox(0,"","") ; affiche le message une fois la nouvelle page chargée (pas besoin de _IELoadWait()

_IEAction($oIE,"refresh") ; rafraichit la page
Comme vous l'avez dit avec IECreate() ça ne marchera pas puisque la page est déjà ouverte donc utilisez : (pas testé)

Code : Tout sélectionner

$oIE = _IEAttach("Le Site - Microsoft Internet Explorer")

Re: [..] Attendre le téléchargement de la page internet

Posté : ven. 03 avr. 2009 22:01
par Firemen777
Salut... Même après tout vos réponse je comprend vraiment pas encore comment faire mon script...
Je vais essayer de vous expliqué mon problème le plus clairement possible.

Mon IE est ouvert sur un site.
Étape #1 du Script: Il doit mettre en 1er plan IE (Moi j'utilise WinActivate, je n'est pas trouver de Function IE pour le remettre une page en 1er plan)
Étape #2:Coller un texte précédemment copier dans un petit zone de texte sur la page internet (j'utilise MouseClick pour selectionner la zone puis coller)
=> C'est ici que ca devient compliqué, j'aimerais cliquer un sur bouton qui me renvoit sur la même URL mais qui ajoute du texte sur la page. Pour vous donner un idée le bouton est comme les boutons "Apercu", "Envoyer", "Sauvegarder" et "Annuler" du forum lorsqu'on écrit un message :wink: .
J'ai vu quelques Function dans Help de Autoit V3, mais il demande le "name" ou l'URL du bouton, mais comme l'URL est le même et comment je fais pour savoir le "name" du bouton ? Beaucoup de question sans réponse :(
Alors pour résumer:
Étape #3: Cliquer sur le bouton de la page pour ajouter le texte sur celle-ci.
Étape #4: Copier le nouveau texte qui est dans une case d'un tableau ( Je fais simplement un MouseClickDrag sur le texte + Copier)
Fin

Merci beaucoup de m'aider et de répondre le plus clairement possible à mes questions :D :) :)

Re: [..] Attendre le téléchargement de la page internet

Posté : ven. 03 avr. 2009 23:56
par orax
Au lieu de MouseClick() + coller le texte, il y aurait _IEFormElementSetValue() qui serait peut-être plus "propre".
Ensuite, si l'URL est déjà chargée, pour y ajouter quelque chose, du texte ou du HTML, voyez les fonctions du style _IEDocWriteHTML() ou mieux : _IEDocInsertHTML(), _IEPropertySet($oIE, "innerhtml", ...) etc.
Et si vous devez lire un élément bien précis : jamais utilisé mais je crois que c'est _IEPropertyGet($oIE, "innerhtml", ...).