[R] Attendre que firefox ait finit de charger la page

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
lokomass
Niveau 5
Niveau 5
Messages : 128
Enregistré le : mer. 15 déc. 2010 10:21
Status : Hors ligne

[R] Attendre que firefox ait finit de charger la page

#1

Message par lokomass »

Bonjour à tous,

Je me permet de reprendre le post suivant : http://autoitscript.fr/forum/viewtopic.php?f=3&t=12759
Je ré-explique rapidement.
Un petit programme qui ouvre un fichier texte (qui contient des urls) et qui les ouvrent une par une.
J'ai commencé à utiliser le module FF, puis suite à mes soucis j'ai fait autrement mais c'est pas propre.
J'ouvre une url, j'attends 60 secondes, et etc... Bien souvent j’attends pour rien, puisque ça pourrait prendre entre 20 et 35 secondes max.
J'aimerais trouver une solution pour que chaque page se charge à le suite de l'autre sans délai à la manière de _FFLoadWait, mais qui me posait des soucis.
Est-ce possible via une autre solution d'attendre la fin du chargement de la page ?
Voici mon code :

Code : Tout sélectionner

#include <FF.au3>
$Texte = "Liens.txt"
$Fichier = FileOpen($Texte, 0)
While 1
    $Ligne = FileReadLine($Fichier)
    If @error Then ExitLoop
    Run("C:\Program Files (x86)\Mozilla Firefox\firefox.exe " & $Ligne)
    Sleep(60)
Wend

If _FFConnect() Then
    _FFWindowClose()
EndIf
 
Modifié en dernier par lokomass le ven. 07 nov. 2014 09:30, modifié 1 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Attendre que firefox ait finit de charger la page

#2

Message par jguinch »

Si tu connais le titre de chaque page, tu devrais pouvoir utiliser WinWait (je crois que Firefox charge le nom de la page en dernier, mais pas sûr)
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
lokomass
Niveau 5
Niveau 5
Messages : 128
Enregistré le : mer. 15 déc. 2010 10:21
Status : Hors ligne

Re: [..] Attendre que firefox ait finit de charger la page

#3

Message par lokomass »

Nop, pas avec ma page, le nom se met direct.
J'avais lu quelque part, tant que l’icône de la page est un gif de loading...
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Attendre que firefox ait finit de charger la page

#4

Message par mikell »

Avec IE ce genre de truc marche (je l'utilise pour pouvoir lire/utiliser le contenu d'une page alors que son chargement n'est pas terminé)

Code : Tout sélectionner

While 1
   $txt = _IEDocReadHtml($oIE)
   If StringInStr($txt, '</html>') Then Exitloop   ; fin de page
   Sleep(500)
Wend
mais je sais pas si c'est possible avec FF.au3
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
ddr3
Niveau 1
Niveau 1
Messages : 3
Enregistré le : jeu. 06 nov. 2014 10:11
Status : Hors ligne

Re: [..] Attendre que firefox ait finit de charger la page

#5

Message par ddr3 »

Bonjour,

Vous pourriez peut-être utiliser la fonction _FF_GetStatus() qui se trouve dans l'UDF FFEx.au3

Cette fonction renvoie une chaine vide lorsque la page est complètement chargée.

Cordialement,

ddr3
lokomass
Niveau 5
Niveau 5
Messages : 128
Enregistré le : mer. 15 déc. 2010 10:21
Status : Hors ligne

Re: [..] Attendre que firefox ait finit de charger la page

#6

Message par lokomass »

Après quelques tests il semblerait que cette fonction attend bien la fin du chargement...
A confirmer.

Code : Tout sélectionner

;Ouverture de Firefox
_FFStart()

;Programme principal
While 1
    $Ligne = FileReadLine($Fichier)
    If @error Then ExitLoop
    _FFOpenURL($Ligne)
    While _FF_GetStatus() <> ""
        Sleep(1000)
    Wend
Wend

;Fermeture de Firefox
If _FFConnect() Then
    _FFWindowClose()
EndIf
 
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Attendre que firefox ait finit de charger la page

#7

Message par jguinch »

Merci de passer le sujet en [R] si le problème est résolu :wink:
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Répondre