AutoIt Français

Nouveau forum : http://www.autoitscript.fr/
 
AccueilFAQRechercherS'enregistrerMembresGroupesConnexionhttp://www.autoitscript.fr

Partagez | 
 

 Agir avec le code html

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Max485
Membre avancé


Nombre de messages : 53
Date d'inscription : 06/07/2007

MessageSujet: Agir avec le code html   2007-07-07, 16:49

Bonjour a tous

Je suis nouveau ici, et le autoit c'est le seul langage que j'arrive a coder, lol, j'ai jamais essayer les autre mais celui la est le plus simple a ce qui parait, c'est a voir !??

Alors voila j'aimerais creer un programme autoit qui permet d'automatiser des taches !!
J'aimerais savoir si il est possible que autoit fonctionne avec un navigateur intégrer, ce qui nous permettrait de faire autre chose sur le pc en meme temps ?? (je pense pas mais faut toujours se renseigner^^)

Alors voila j'aimerais qu'il selectionne un certains nombre de choses, et ce en calculant une chose dans les page html

Donc par ex, il y a deux coté dans la page 20.000 2.000, il faudrai qu'il les aditionne, qui les divise par 25, puis apres qu'il ecrive le resultat arrondi a l'unité au supperieur dans un endroit de la page !!

Mon probleme c'est pas ce que je dit en dernier, mais la premiere question, puis le calcul du code html, c est possible ???
Et pour les aditions aussi possible de me dire une fomule ??

(Si je vous ennuie merci de me le dire, j irai voir ailleur si vous y etes, mais j'aime pas attendre de reponse pour rien, merci de votre comprehension^^)

Merci de m'aider svp
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ani
Modérateur
Modérateur


Nombre de messages : 563
Date d'inscription : 23/01/2007

MessageSujet: Re: Agir avec le code html   2007-07-07, 17:20

Bonjour max485 soit le bienvenu

Autoit facile c'est vite dit ^^
mais si tu approndi tu va toucher au autre langage

les opérateurs
* multiplie
+ additionne
- soustrait
/ division

ce qui ferait (col1+col2)/25

Pour le reste je ne sais pas attendont les specialistes (moi suis encore a lire l'aide )

dans l'aide y a une partie ie (user defined functions/IE management)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Agir avec le code html   2007-07-07, 18:09

Bonjour et bienvenu !

ça paraît réalisable, finalement l'endroit le plus délicat est peut être l'envoie du résultat.
J'attaquerait plutôt ce problème en récupérant la page html en local, après pour les autres idées libres à l'imagination.

Procédons dans l'ordre :

récupération des données à additionner, multiplier ... :
inetget("ton url","fichier_local.txt",1)

puis repérer dans la pge html en local nommée fichier_local.txt où sont les nombres, et trouver des délimiteurs pour les récupérer.
Par exple, si dans la page on a
prix du rasoir : 75
prix du cable : 5

on pourra rechercher "prix du rasoir :" (valeur fixe), puis lire le chiffre dérière, etc.

une fois les nombres isolés, on effectue l'opération à faire.


puis faut envoyer le résultat ... :
méthode 1 : on compte le nombre de "TAB" à envoyer au navigateur pour arriver sur le contrôle de saisie du résultat, et on fait un send($valuer_finale)

méthode 2 : si c'est du php,asx ... mal codé qui permet de fair des envoie de paramètres directement depuis l'url, genre http://www.truffe.com/index.php?ma_variable="25", alors on passera par un run("explorer "&$ton_url_avec_affectation_de_variable)

Mais je pense qu'on va avoir l'occasion d'en reparler avant d'arriver à cette dernière étape ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Max485
Membre avancé


Nombre de messages : 53
Date d'inscription : 06/07/2007

MessageSujet: Re: Agir avec le code html   2007-07-07, 18:32

Je pesne que la methode 2 n'est pas realisable, c'est pas tres protéger mais je pense pas a ce point la !!

Par contre voila j ai reussi a recuperer la page dans un fichier, comment je me sert du fichier et fait des recherche ?? et recuperer le nombre chercher ???

Apres moi je doit passer par tab sur firefox (enfin si c'est posible dans un navigateur interne, mais vous m avez pas dit si ca existait !!)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Agir avec le code html   2007-07-07, 19:31

Soit on lit le fichier ligne par ligne, ou on le charge en entier dans une variable de type string (comme il s'agit d'une page html, on aurait tort de s'en priver)

Maintenant, il va falloir se servir de la panoplie des fonctions de recharche de string

StringRegExp
Stringsplit
Stringinstr ...

Le plus dur va être de trouver des mots "butoirs" qui vont servir à localiser ces fameux nombres.

quitte à ce que tu mettes le fichier html en question en lien pour qu'on puisse regarder si ce n'es pas indiscret bien sûr ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Max485
Membre avancé


Nombre de messages : 53
Date d'inscription : 06/07/2007

MessageSujet: Re: Agir avec le code html   2007-07-07, 19:56

Bon voila, je sais pas si je fait bien de deire ca, mais bon, en faite c est pour creer un bot qui permtrait sur un jeu ogame, je ais pas si vous connaisez, de transporter des ressource d'une planete a l autre, et ce automatiquement parck c chiant dy faire tout les jours !!

Et j'aimerais pouvoir occuper le pc en meme temps, c'est pour ca que j'aimerais que ca soit sur un nvaigateur interne !!

voila le morceau de code ou sont contenu les nombres
<tr>
<td align="center"><i><b>&nbsp;&nbsp;</b></i></td>
<td align="center" width="85"><i><b><font color="#ffffff">Métal</font></b></i></td>
<td align="center" width="85"><i><b><font color="#ffffff">Cristal</font></b></i></td>
<td align="center" width="85"><i><b><font color="#ffffff">Deutérium</font></b></i></td>
<td align="center" width="85"><i><b><font color="#ffffff">Energie</font></b></i></td>
<td align="center"><i><b>&nbsp;&nbsp;</b></i></td>
</tr>
<tr>
<td align="center"></td>
<td align="center" width="85"><font >1.243.951</font></td>
<td align="center" width="85"><font color='#ff0000'>806.122</font></td>
<td align="center" width="85"><font color='#ff0000'>366.623</font></td>
<td align="center" width="85"><font >886</font>/7.710</td>
<td align="center"></td>
</tr>
</table>
</td>

Voila moi je eut le nombre 15.150 et le 6.680, je veut qu'il s addtitionne et apres qu'il soit diviser par 25, pour ensuite ecrire le resultat arrondi al 'unité et au dessus, dans un endroit de la page
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Agir avec le code html   2007-07-07, 20:36

je ne voit pas où sont ces deux nombres dans le morceau de code que tu as joint ???
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Max485
Membre avancé


Nombre de messages : 53
Date d'inscription : 06/07/2007

MessageSujet: Re: Agir avec le code html   2007-07-07, 21:04

Desoler, j'ai aps mis les bon nombre, j ai pa copier la meme page, bon voila les ligne avec le nombre, elle sont 5 rang en partant du bas:

<td align="center" width="85"><font >1.243.951</font></td>
<td align="center" width="85"><font color='#ff0000'>806.122</font></td>
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Agir avec le code html   2007-07-07, 21:59

ok, petite question subsidiaire toute bête mais mieux vaut être sûr : 1.243.951 s'interprète bien comme 1243951 , sinon on fait comment pour additionner ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Agir avec le code html   2007-07-07, 22:18

en attendant la reponse sur le dernier point voici un premier script basé sur cette hypothèse

[code]
$title="chiffre_html.txt" ; chiffre_html.txt est le fichier html téléchargé
$fic=FileOpen($title,0) ; ouverture en mode lecture
$pattern='<td align="center" width="85"><font' ; on va repéré les chiffre à partir de cette expression qu'on enrichiera par la suie
$globale_ligne=FileRead($fic,FileGetSize($title)) ; on stocke tout le fichier en une variable string
FileClose($fic) ; fermeture du fichier, plus besoins
$nOffset = 1 ; offset de recherche des cjhiffre
$somme=0 ; init de la somme à 0
$indice=0 ; compteur d'indice, je présume dans l'état actuel des choses que seuls les deux premier nombres rencontrés nous interesserons
While 1
$array = StringRegExp($globale_ligne, $pattern&'.{0,}>([\d\.]+)', 1, $nOffset) ; on recheche toutes les sous chaine composé de chiffre et de . précédé par la pattern décrite précédément complétées éventuellement de n'importe quoi et >
If @error = 0 Then
$nOffset = @extended ; si il y a un candidat on stocke la position en cours
Else
ExitLoop
EndIf
If (Not IsArray($array)) Then
;ça doit être un tableau de dimension 1 , sinon c'est un pb de formatage
MsgBox(16,"Pb de fichier","Probleme de détection des chiffres dans le fichier telechargé")
Exit 1
EndIf
$somme+=StringReplace($array[0],".","") ; on incrémente la somme de la chîne trouvée sans les .
$indice+=1 ; incrémentation de l'indice
If $indice=2 Then ExitLoop ; si on a traîté les 2 premiers, c'est fini
WEnd

$somme=Round($somme/25,2) ; arrondi a 2 digit

MsgBox(0,"division",$somme) ; c'est fini
[/code]
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Max485
Membre avancé


Nombre de messages : 53
Date d'inscription : 06/07/2007

MessageSujet: Re: Agir avec le code html   2007-07-08, 17:04

j'avais commencer a ecrire un grand message parck ca ne marchai pas !!



Mais en faite dans la premiere ligne (inetget("lien","flottte.txt",1), ca ne corrsedpondais pas avec le script !!!

Alors j'ai modifier ca !! j ai mi flottes de partout et sa marche enfin si je mai des majucusle ca a plus l air de marcher !!



[quote:e1c3="sylvanie"]
MsgBox(16,"Pb de fichier","Probleme de détection des chiffres dans le fichier telechargé")

[/quote]

L'adresse du lien change apparment assez souvent !! Pourtant je n'avais pas cette impression il ya pas longtemps, mais comme il ont changer quelque truc ces fumiers (en parlant gentilment), ca c'est peut etre passer avec, mais la je peut me servir d'un fichier *ini pour rentrer le lien, c'est pas un probleme, ca je sais faire, j'ai creer un script deja ou tous ce configure par la (enfin un script pour effectuer des clic simplement, il marche bien d'ailleurs)

Tout ca pour dire que la premiere fois, le fichier est pas apparu comme il faut, et cette msgbox n'est pas apparu !! Pourtant elle doit apparaitre quand il ny a pas de chiffre dasn le fichier non ???

[quote:e1c3="sylvanie"]
$somme=Round($somme/25,2) ; arrondi a 2 digit


[/quote]
pour:
<td align="center" width="85"><font >190.482</font></td>
<td align="center" width="85"><font >87.349</font></td>
il me calcule 1113.24 !!
Deja faudrai qu'il me trouve un chiffre bien plus petit, mais ca c'est une erreur de division de ma part, je vai y arranger !!!

Mais la vien le probleme des 2 digit, c est quoi cette unité ???

Parck il me trouve une virgule alors que pour 11.151515, j aimerais qu'il me dise 12, toujours au dessus, meme si il devrait arrondir a 11, enfin faudrai qui calcule sans les virgule deja, comment on fait pour arrondir ???

Apres la msgbox montre bien le nombre, mais moi je veut pas une msgbox mai ke ce nombre s'ecrive, mais ca c'est pas un probleme Send($somme), et sa devrait etre bon !!

Mais j'aimerais savoir si il existe un navigateur interne qui me permettrait de remplir la case et cliker sur envoyer tou en etant en train de faire autre chose sur mon pc ???

(pour le reste du script, je devrai y arriver, mais il me faut les rep a ses question merci)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Max485
Membre avancé


Nombre de messages : 53
Date d'inscription : 06/07/2007

MessageSujet: Re: Agir avec le code html   2007-07-08, 22:06

UP besoi d'encore un peu d'aide svp
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Agir avec le code html   2007-07-08, 22:33

[quote:a25d="Max485"]

Tout ca pour dire que la premiere fois, le fichier est pas apparu comme il faut, et cette msgbox n'est pas apparu !! Pourtant elle doit apparaitre quand il ny a pas de chiffre dasn le fichier non ???

[/quote]

plus exactement c'est lorqu'il n y a pas de detection de ligne de type :

<td align="center" width="85"><font ??????>xxx.xxx.xxx...
avec ? = n'importe quoi et x= digit

[quote:a25d="Max485"]

[quote:a25d="sylvanie"]
$somme=Round($somme/25,2) ; arrondi a 2 digit


[/quote]
pour:
<td align="center" width="85"><font >190.482</font></td>
<td align="center" width="85"><font >87.349</font></td>
il me calcule 1113.24 !!
[/quote]

c'est normal car je suis parti de l'hypothese qq postes plus hauts que le . n'est pas une virgule mais un regroupeur de 3 digit.
donc (190482+87349)/25=1113.24

si ce n'est pas cette hypothèse, alors comment interpréter 1.243.951 trouvé dans l'extrait fourni ?


[quote:a25d="Max485"]
Mais la vien le probleme des 2 digit, c est quoi cette unité ???

Parck il me trouve une virgule alors que pour 11.151515, j aimerais qu'il me dise 12, toujours au dessus, meme si il devrait arrondir a 11, enfin faudrai qui calcule sans les virgule deja, comment on fait pour arrondir ???
[/quote]
j'avais compris que tu voulais 2 digits après la virgule,
dans ce cas fais ce tests (supposons que ta variable s'appellle $var):

if $var<>int($var) Then $var=int($var)+1
qui se traduit par :
si $ var n'est pas déjà un entier, alors $var = partie entière $var +1


[quote:a25d="Max485"]
Apres la msgbox montre bien le nombre, mais moi je veut pas une msgbox mai ke ce nombre s'ecrive, mais ca c'est pas un probleme Send($somme), et sa devrait etre bon !!
[/quote]

Rome ne s'est pas construite en un jour ^^, avec ce que j'ai à disposition je ne peux pas te dire exactement comment l'envoyer.
Par contre, mets ton navigateur en avant plan avec WinActivate,
compte le nbre de touche "TAB" à envoyer par Send pour arriver à ton contrôle d'envoie, puis fais un send de ton résultat
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Max485
Membre avancé


Nombre de messages : 53
Date d'inscription : 06/07/2007

MessageSujet: Re: Agir avec le code html   2007-07-08, 22:43

[quote:ee24="sylvanie"]
$somme=Round($somme/25,2) ; arrondi a 2 digit
[/quote]
pour:
190.482
87.349
il me calcule 1113.24 !!
[/quote]

c'est normal car je suis parti de l'hypothese qq postes plus hauts que le . n'est pas une virgule mais un regroupeur de 3 digit.
donc (190482+87349)/25=1113.24
si ce n'est pas cette hypothèse, alors comment interpréter 1.243.951 trouvé dans l'extrait fourni ?
[/quote]
Tout a fait ce n'est point une vrigule mais un regroupeur de nombre !!

[quote:ee24="Max485"]
Mais la vien le probleme des 2 digit, c est quoi cette unité ???

[quote:ee24="sylvanie"]
Parck il me trouve une virgule alors que pour 11.151515, j aimerais qu'il me dise 12, toujours au dessus, meme si il devrait arrondir a 11, enfin faudrai qui calcule sans les virgule deja, comment on fait pour arrondir ???
[/quote]
j'avais compris que tu voulais 2 digits après la virgule,
dans ce cas fais ce tests (supposons que ta variable s'appellle $var):

if $var<>int($var) Then $var=int($var)+1
qui se traduit par :
si $ var n'est pas déjà un entier, alors $var = partie entière $var +1
[/quote]
Moi apres la virgule je ne veut rien, je veut qu'il calcule 125.213+2.321= 6 (au lieu de 5.1942)
Donc je vais essayer de rajouter ta formule, en pensant que $var elle la somme obtenu qui est $somme

edit 21:50: C est bon j remplacer var par somme et ca marche merci

[quote:ee24="sylvanie"]
[quote:ee24="Max485"]
Apres la msgbox montre bien le nombre, mais moi je veut pas une msgbox mai ke ce nombre s'ecrive, mais ca c'est pas un probleme Send($somme), et sa devrait etre bon !!
[/quote]

Rome ne s'est pas construite en un jour ^^, avec ce que j'ai à disposition je ne peux pas te dire exactement comment l'envoyer.
Par contre, mets ton navigateur en avant plan avec WinActivate,
compte le nbre de touche "TAB" à envoyer par Send pour arriver à ton contrôle d'envoie, puis fais un send de ton résultat
[/quote]
tkt pas pour ca comme je l'ai dit je peut le faire moi meme, ca je sais le faire, a part que j aimerais que ca ce fasse de maniere cacher avec ie sans que je voi (pour pouvoir faire autre chose sur le pc en meme temps, mai je sai pas faire, mai c possible a ce ki parait)

bon ben merci, je repasserai
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Agir avec le code html   Aujourd'hui à 17:16

Revenir en haut Aller en bas
 
Agir avec le code html
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Problème urgent avec un code html :/
» Problème avec mon code html?
» Problèmes avec un code Html Facebook.
» Bannière avec code html (map et area)
» code HTML

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
AutoIt Français :: AutoIt v3 :: Entraide-
Sauter vers: