[R] Retourner le compteur d'un site

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Bling
Niveau 1
Niveau 1
Messages : 11
Enregistré le : lun. 30 juil. 2012 06:23
Status : Hors ligne

[R] Retourner le compteur d'un site

#1

Message par Bling »

Bon alors, toujours débutant... J'ai quand même de la prog derrière moi mais j'ai seulement 2-3 jours d'autoit dans les doigts donc soyez indulgent x)
Ce que j'essaye de faire: déclencher une action quand quelque chose se passe sur un site, par exemple quand un compteur arrive à 0.

Code : Tout sélectionner

$oIE = _IECreate ("www.monsite.com")
$maVar = _IEGetObjById ($oIE, "id_de_l_objet")
ConsoleWrite(_IEPropertyGet($maVar, "innertext") & @CRLF)
J'ai essayé plusieurs paramètres pour IEPropertyGet mais au final j'ai soit une erreur soit il n'écrit rien... J'ai aussi essayé une message box mais elle me renvoit 0. En gros là je voudrais simplement print la valeur de $maVar pour pouvoir la voir...

EDIT: j'ai réussi à afficher mon compteur mais qu'à moitié, je reçois --:-- au lieu des nombres. J'ai trouvé un exemple de code ici: http://www.autoitscript.com/forum/topic ... imer-data/ mais le compteur utilisait des images ce qui n'est pas mon cas
Modifié en dernier par Bling le mer. 01 août 2012 15:56, modifié 1 fois.
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Retourner le compteur d'un site

#2

Message par PandiPanda »

Bonsoir,
Pour arriver à votre fin y'a plusieurs moyen différent, concernant votre demande sur un "compteur" généralement c'est des images qui sont misent et non les "chiffres" en format "texte". J'espere qu'ils ont bien numéroté dans l'ordre ... ^^

Voici un exemple ;
j'ai uploader un fichier html vite fait pour ce test.
► Afficher le texte
Si vous voulez plus de détail, ils faudra soit l'url du site en question soit un minimum de code source du site voulu.
(pour les id, ...)
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Bling
Niveau 1
Niveau 1
Messages : 11
Enregistré le : lun. 30 juil. 2012 06:23
Status : Hors ligne

Re: [..] Retourner le compteur d'un site

#3

Message par Bling »

Merci mais j'avais précisé que ce n'est pas un compteur qui utilise des images x) C'est du javascript et le compteur n'est pas affiché dans le html. Mais aucune idée de comment récup le js...
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Retourner le compteur d'un site

#4

Message par mikell »

Faudrait nous mettre le lien pour qu'on puisse aller le voir ce compteur
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Retourner le compteur d'un site

#5

Message par timmalos »

Essayez

Code : Tout sélectionner

$sHTML = _IEDocReadHTML ($maVar)
Bling
Niveau 1
Niveau 1
Messages : 11
Enregistré le : lun. 30 juil. 2012 06:23
Status : Hors ligne

Re: [..] Retourner le compteur d'un site

#6

Message par Bling »

Nope pas la peine de lire le html, le compteur n'y est pas c'et du javascript. Quand à donner le site hm, je pourrais mais vous risquez de rager... Même si je me contrefiche de ce site, je prends ça comme un petit challenge c'est tout, mais y'a pleins de sites du genre avec des compteurs en javacript. http://stuntsnippets.com/javascript-countdown/ je crois que ça doit être la même chose que ce site (:
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Retourner le compteur d'un site

#7

Message par PandiPanda »

pour l'url en question ceci;

Code : Tout sélectionner

#include <IE.au3>

Local $url = "http://stuntsnippets.com/javascript-countdown/"
Local $oIE = _IECreate($url,0,0)
Local $oIE_ID = _IEGetObjById($oIE,"javascript_countdown_time")
MsgBox(0,'',_IEPropertyGet($oIE_ID, "innertext") & @CRLF)
ci dessous pour voir le changement du compteur;
► Afficher le texte
Edit: le javascript permet de rendre les page web dynamique, actualisation des pages, ...
Mais au final ce "changement" sera écrit dans le code source de la page web elle même.
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Retourner le compteur d'un site

#8

Message par timmalos »

_IEDocReadHTML retourne bien le code HTML modifié après l'action du javascript, comme vous l'auriez lu si vous aviez daigné regarder l'aide de cette fonction.
Bling
Niveau 1
Niveau 1
Messages : 11
Enregistré le : lun. 30 juil. 2012 06:23
Status : Hors ligne

Re: [..] Retourner le compteur d'un site

#9

Message par Bling »

timmalos a écrit :_IEDocReadHTML retourne bien le code HTML modifié après l'action du javascript, comme vous l'auriez lu si vous aviez daigné regarder l'aide de cette fonction.
Merci ça fonctionne =) et effectivement, j'étais au lit à moitié endormis donc je n'ai pas testé, il me semblait avoir déjà essayé ça.
Bref, merci pour l'aide =)
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Retourner le compteur d'un site

#10

Message par timmalos »

Pas de soucis, n'oubliez pas de passer votre sujet en résolu ;)
Bling
Niveau 1
Niveau 1
Messages : 11
Enregistré le : lun. 30 juil. 2012 06:23
Status : Hors ligne

Re: [..] Retourner le compteur d'un site

#11

Message par Bling »

Pas résolu en fait... J'ai rien compris à ce qu'il s'est passé.. J'avais ajouté _IEDocReadHTML($oIE) comme ça sans même le mettre dans une variable ni le print et ô miracle le compteur s'affichait au lieu des --:--:--...

Maintenant j'ai quelque chose comme ça:

Code : Tout sélectionner

$myVar = _IEGetObjById ($oIE, "counter_index_page_50374")
$myVar2= _IEBodyReadText($oIE)
$myVar3=_IEDocReadHTML($oIE)
ConsoleWrite("test" & $myVar.innertext  & $myVar3 & @CRLF)
Et je me prends de nouveau des --:--:--, j'ai essayé de revenir en arrière et pas moyen de ravoir le compteur oO. J'ai du faire un truc qu'il ne fallait pas mais je vois vraiment pas le problème là....

Merci

edit: ahah ça me rend fou... En plus mon code fait à peine quelques lignes, je vois pas ce que j'ai pu changer ni pourquoi ça ne fonctionne plus.
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Retourner le compteur d'un site

#12

Message par timmalos »

Code : Tout sélectionner

$myVar3=_IEDocReadHTML($myVar)
?


ou peut etre que votre code est trop rapide et que le javascript n'a pas encore été effectif, essayez de rajouter un sleep(5000) apres le _IECreate
Bling
Niveau 1
Niveau 1
Messages : 11
Enregistré le : lun. 30 juil. 2012 06:23
Status : Hors ligne

Re: [..] Retourner le compteur d'un site

#13

Message par Bling »

Ah bah voilà, avec un sleep ça roule x)
Merci timmalos!
Répondre