[R] Detection d'une donnée dans un tableau d une page HTML

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

[R] Detection d'une donnée dans un tableau d une page HTML

#1

Message par touslesmatins »

bonsoir, Je souhaiterais savoir s'il est possible et par quelle commande on pourrait dans un premier cas rechercher une donnee dans la premiere ligne d un tableau dune page html.
Dans un deuxieme cas, apres avoir repere la donnée dans la 1ere ligne du tableau d'executer un clic,( toujours sur la premiere ligne du tableau,) sur un lien via la commande "_IELinkClickByText($o_object,$s_linkText" .

merci
:D
Modifié en dernier par touslesmatins le dim. 08 mars 2009 13:17, modifié 3 fois.
Avatar du membre
FernandG
Membre émérite
Membre émérite
Messages : 194
Enregistré le : mar. 15 avr. 2008 21:50
Localisation : Picardie
Status : Hors ligne

Re: [..] Detection d'une donnée dans un tableau d une page HTML

#2

Message par FernandG »

Bonjour,

C'est possible mais cela dépend de plusieurs facteurs, de la structure de la page web, du code source, un seul tableau ou plusieurs ? Si plusieurs tableaux, lequel ? Les balises sont telles "taggées" ou non ? Le tableau est-il nommé ? Appartenance à une classe CSS par exemple ?

Personnellement, je me tournerai vers _INetGetSource. Ensuite c'est de la manipulation de fichier, de chaînes de caractères et toute la panoplie des commandes String avec une préférence pour la StringRegExp.

As-tu un exemple de page Web à nous présenter ?

Bonne journée.
AutoITement.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Detection d'une donnée dans un tableau d une page HTML

#3

Message par Tlem »

La recherche et l'exploitation d'informations contenues dans une page Web à été plusieurs fois abordée.
Il serait judicieux de faire quelques recherches avant de poser ce type de question.
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é".
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

Re: [..] Detection d'une donnée dans un tableau d une page HTML

#4

Message par touslesmatins »

Bonjour,
Tout d abord merci et je voulais signaler que je chercher et cherché des informations, que ne trouvent pas. Je suis tes conseils et je vais en parallele continuer à chercher, merci Tlem.
et merci pour ta reponse Fernang. Cela semble compliqué. Malheureusement je travaille sur un intranet je ne peux mettre un exemple. Par contre si tu pouvais me guider ce serait bien.
Ce que je peux dire c est que c est une page simple divise en 4 parties :
un menu à gauche
un titre en haut
un bas de page
et au centre un tableau. (nommé = "formulaire")
Nous y voilà, je souhaite dans un premier temps demander au programme de me trouver ce tableau de facon à chercher une information sur ce tablea et uniquement sur ce tableau (pas dans le menu).
Peux tu m aider ici en me precisant la commande et l ecriture complete de cette commande que j adapterait... ce serait cool

Ensuite j aimerais demander au programme de me faire une recherche sur la premiere ligne de ce tableau.

....
en fait, je souhaiterais faire une lecture sur 1 E ligne, lire case info2=$x
ce $x est tres important pour la suite de mon programme.

Merci pour vos reponses. Je suis conscient que cela soit difficile. :D
Modifié en dernier par touslesmatins le lun. 16 mars 2009 18:37, modifié 1 fois.
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Detection d'une donnée dans un tableau d

#5

Message par jbnh »

Salut,

Si cela est possible, ça aiderait de donner le code de la page html en question.

Merci
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

Re: [..] Detection d'une donnée dans un tableau d une page HTML

#6

Message par touslesmatins »

Bonjour, jbnh
Comme je le dit dans le precedent message, je ne peux pas.
Par contre je suis toujours en attente d information par rapport à mon dernier message.
merci
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Detection d'une donnée dans un tableau d une page HTML

#7

Message par Tlem »

Une recherche sur le forum avec le terme 'formulaire' devrait vous donner plusieurs liens en rapport avec votre question.

http://www.autoitscript.fr/forum/search ... Rechercher
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é".
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

Re: [..] Detection d'une donnée dans un tableau d une page HTML

#8

Message par touslesmatins »

Re bonjour,
A ce jour, je suis toujours bloqué. Que c'est dur! Pourtant je cherche...
Peut etre me suis trompé dans ma demande, en faite ce qu il me faut c est de lire à un endroit precis de la page (qui sera toujours au meme endroit) et d integrer cette valeur dans un programme.
Peut etre est ce plus clair... j attend avec impatience.
cela doit etre possible, non?
Merci


Bonne journée.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Detection d'une donnée dans un tableau d une page HTML

#9

Message par Tlem »

La demande à bien été claire, mais sans le code source de la page, il va être difficile d'en faire plus.

A partir du lien que je vous ai donné, vous devez voir plusieurs exemples qui ce rapproche de votre demande.
Essayez les code et adaptez les à votre besoin.
Voici deux liens traitant directement de la récupération d'info sur une page web :
http://www.autoitscript.fr/forum/viewto ... 21&p=12601
http://www.autoitscript.fr/forum/viewto ... 14&p=12160
Ce sont des exemples que j'avais en tête, mais il y en à d'autres sur le forum.

Si vous en voulez plus, il vous faudra passer par l'affichage du code source de la page car sans cela personne ne peut deviner le nom des éléments de la page.
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é".
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

Re: [..] Detection d'une donnée dans un tableau d une page HTML

#10

Message par touslesmatins »

Merci Tlem.
Merci d'essayer de m'aider et j'ai bien relu les liens que tu m'a gentiment conseillé de lire et relire. Ce sont des exemples tres interressants qui permettent de cliquer sur des objets, de remplir des forms, je sais comment cliquer sur un lien (texte)...
Ma demande est un peu differente, ce que je souhaitais c'etait de recuperer un mot dans ma page html, un mot sans lien, ni image, ni forms, simplement un mot ecris en html et pouvoir le recuperer pour m en servir comme variable.
Modifié en dernier par touslesmatins le jeu. 19 mars 2009 02:02, modifié 1 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Detection d'une donnée dans un tableau d une page HTML

#11

Message par Tlem »

Voici l'exemple pour la date en haut à droite, car si vous n'êtes pas loggé, la date à gauche n'apparaît pas :

Code : Tout sélectionner

#include <IE.au3>

$oIE = _IECreate ("http://www.autoitscript.fr/forum/index.php",0,0) ; Chargement de la page
_IELoadWait($oIE) ; Attente de chargement

$oDiv = _IEGetObjById ($oIE, "menubar") ; Recherche objet DIV avec ID menubar
$Res = _IEPropertyGet($oDiv, "innertext") ; Récupère le texte de l'objet

_IEQuit ($oIE) ; Ferme la page

$Res = StringSplit($Res, "Nous sommes le ", 1) ; Découpe la chaine en 2

MsgBox(64, "", $Res[2]) ; Affiche la 2ieme partie
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é".
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

Re: [..] Detection d'une donnée dans un tableau d une page HTML

#12

Message par touslesmatins »

Un seul mot, Tlem : R.E.S.P.E.C.T
Cela repond parfaitement à ma demande. Un grand merci.
Meme si je n'y suis pas encore arrivé à l'adapter à ma page, j'y travail. Je suis grave dans la bonne voie.
Merci.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Detection d'une donnée dans un tableau d une page HTML

#13

Message par Tlem »

Voici quelque chose qui vous donnera une approche plus précise de ce que vous voulez faire. ;)
http://www.autoitscript.fr/forum/viewto ... f=6&t=2474
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é".
Avatar du membre
FernandG
Membre émérite
Membre émérite
Messages : 194
Enregistré le : mar. 15 avr. 2008 21:50
Localisation : Picardie
Status : Hors ligne

Re: [..] Detection d'une donnée dans un tableau d une page HTML

#14

Message par FernandG »

Bonsoir,

Sympa pour ceux qui cherchent comment faire.
Très bon exemple.

Bonne soirée.
AutoITement.
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

Re: [..] Detection d'une donnée dans un tableau d une page HTML

#15

Message par touslesmatins »

Bonjour,

Voilà je reviens sur ce point, apres avoir resolu pas mal de chose dans mon script et un peu assimilé autoit... Tout d'abord merci, oui merci à la collectivité et merci en particulier à ceux qui participent à cette question.
Je reviens sur le script de Tlem qui est super.
Mais je n'arrive pas à poursuivre car il me faut pouvoir atteindre une donnee tableau "un", colonne 4, ligne 1.
Pourriez vous me completer le scrip un plus haut en retournant les ou la donné(es) qiu se trouve dans le tableau, lign 2, cellule 2.
http://www.autoitscript.fr/forum/index.php
(Par la suite je la recupere afin de la comparer.)

Pour info j arrive à lire une tableau avec les commandes :
$oTable = _IETableGetCollection ($oIE, 13)
$aTableData = _IETableWriteToArray ($oTable, True)
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Detection d'une donnée dans un tableau d une page HTML

#16

Message par timmalos »

Quand vous avez Votre texte, en le recuperant grace à une fonction de _IE (on ne peut pas vous aider plus sans le code source) il va falloir analyser et decouper cette 'chaine de caractère'.

Tlem le faisait grace à :

$Res = StringSplit($Res, "Nous sommes le ", 1) ; Découpe la chaine en 2

Mais c ne marchera evidemment pas dans votre cas, donc :
Il va falloir passer par:
_StringBetween et toutes les fonctions traitants sur les strings, ou si vous connaissez les expressions regulières ca peut egalement faire le travail. Encore une fois il va falloir que vous analisiez le code source de votre page, voir ce qui differencie la colonne 4 de la colonne 1 dans la source, car c'est ce que Recupère Autoit. Ensuite vous pouvez recuperer uniquement ce qui vous interesse?.
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

Re: [..] Detection d'une donnée dans un tableau d une page HTML

#17

Message par touslesmatins »

Hum..... :|
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

Re: [..] Detection d'une donnée dans un tableau d une page HTML

#18

Message par touslesmatins »

Bonsoir,
Si ça peut aider le texte que je souhaite recuperer se trouve dans le tableau que j arrive à lire avec ces lignes et les tagname est "TD" et le innertext est une suite de chiffre qui change(c'est ce nombre que je souhaite atteindre.

Code : Tout sélectionner

$oTable = _IETableGetCollection ($oIE,13)
$aTableData = _IETableWriteToArray ($oTable, TRUE)
$oElements = _IETagNameAllGetCollection ($oIE)
Merci
Et bonne nuit, surtout car il est tard. :D
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11798
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Detection d'une donnée dans un tableau d une page HTML

#19

Message par Tlem »

J'ai cherché un peut et j'y arrive comme ceci :

Code : Tout sélectionner

$oIE = _IECreate("http://www.autoitscript.fr/forum/index.php", 0, 0)

$oTable = _IETableGetCollection ($oIE, 5)
$aTableData = _IETableWriteToArray ($oTable, true)

_ArrayDisplay($aTableData,"") ; Juste pour voir à quoi ca ressemble.

MsgBox(64, "Info", "La valeur de la ligne 2 colonne 2 est : " & $aTableData[2][2])

_IEQuit($oIE) ; On Ferme la page
Exit
 
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é".
touslesmatins
Niveau 6
Niveau 6
Messages : 211
Enregistré le : dim. 15 févr. 2009 01:08
Status : Hors ligne

Re: [R] Detection d'une donnée dans un tableau d une page HTML

#20

Message par touslesmatins »

Bonjour,
Tlem, votre réponse est parfaite. Beau travail... Et quel sérieux ! Je tiens à vous remercier et vous féliciter pour la qualité de vos réponses.
Je viens de faire grace à vous un pas énorme.
Ce sujet est élucidé et donc cloturé.
Merci, un seul mot revient, R.E.S.P.E.C.T
Bon dimanche.
Répondre