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

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Firemen777
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mer. 11 févr. 2009 03:12
Status : Hors ligne

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

#1

Message 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
Modifié en dernier par Firemen777 le mer. 01 avr. 2009 04:05, modifié 2 fois.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

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

#2

Message 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.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Firemen777
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mer. 11 févr. 2009 03:12
Status : Hors ligne

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

#3

Message 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.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

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

#4

Message par Tlem »

@Firemen777

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

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Firemen777
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mer. 11 févr. 2009 03:12
Status : Hors ligne

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

#5

Message 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
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

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

#6

Message 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")
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Firemen777
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mer. 11 févr. 2009 03:12
Status : Hors ligne

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

#7

Message 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 :) :)
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

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

#8

Message 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", ...).
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Répondre