Bonjour,
Tout d'abord merci d'avance à ceux qui passeront par là et qui pourront aider à démêler mon code. J'espère que le titre est clair (mais j'en doute...). Je vais essayer d'exposer au mieux mon problème (j'ai passé toute la journée dessus, en cherchant un peu partout mais je bloque):
Suite à une première récupération de données qui a été traitée (grâce à l'aide précieuse de patricktoulon) dans la discussion suivante: ici , j'essaie maintenant de récupérer plusieurs tables sur une même page, et toujours via une requête car les infos ne sont pas "visibles" dans les tables.
Pour que ça soit plus clair, voila la page test qui sert d'Url dans les codes ci-dessous: lien
Je souhaite récupérer les 9 "grilles" de la page en bouclant donc sur chaque table dans le code que j'essaie de récupérer avec la requête.
Pour récupérér la première table, on peut utiliser l'id "game_1910" dans le code suivant (merci patricktoulon ):
L'idée serait de récupérer toutes les tables, sans faire référence aux Id des tables. J'ai donc essayé de me "raccrocher" à un autre Id mais je n'arrive pas à descendre au niveau des tables. J'ai essayé avec l'Id "ajax_pagination" qui chapeaute l'ensemble des tables mais je n'arrive pas à descendre dans l'arborescence (j'ai cherché et j'ai lu cet article d'arkham46 mais je suis paumé):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Set ReQ = CreateObject("microsoft.xmlhttp") ReQ.Open "POST", UrL, False ReQ.send Set fauxdoc = CreateObject("htmlfile") With fauxdoc .body.innerHTML = ReQ.responseText .write .getElementById("game_1910").outerHTML Set tablespan = .getElementsByTagName("SPAN") For Each element In tablespan etc. (les éléments que je récupère sont après les tag Span de la table: "score score ..."
J'ai aussi essayé avec la fonction getElementbyClassName (sans "s") sur "pronos_inside" qui est plus près de ma table:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Set ReQ = CreateObject("microsoft.xmlhttp") ReQ.Open "POST", UrL, False ReQ.send Set fauxdoc = CreateObject("htmlfile") With fauxdoc .body.innerHTML = ReQ.responseText .write .getElementById("ajax_pagination").outerHTML Set tablespan = .getElementsByTagName("SPAN") For Each element In tablespan
Mais j'ai une erreur d'exécution 438 ("Propriété ou méthode non gérée par cet objet").
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Set ReQ = CreateObject("microsoft.xmlhttp") ReQ.Open "POST", UrL, False ReQ.send Set fauxdoc = CreateObject("htmlfile") With fauxdoc .body.innerHTML = ReQ.responseText .write .getElementByClassName("pronos_inside").outerHTML Set tablespan = .getElementsByTagName("SPAN") For Each element In tablespan
D'ailleurs à la base j'avais pensé à récupérer tous les elements "prono_lf_inside" avec .getElementsByClassName("prono_lf_inside") et ensuite faire tourner une boucle "For Each element" mais comme en dessous j'ai déja une boucle "For Each element in tablespan" j'ai eu une erreur (car les 2 boucles "for each" imbriquées se référaient toutes les 2 à "element").
Désolé pour le mon piètre niveau, j'essaie d'avancer pas à pas mais c'est comme si je marchais dans du sable mouvant
Dans les infos à récupérer, il faudrait aussi que je puisse avoir le nom de chaque joueur (au dessus de chaque table) pour pouvoir identifier les résultats obtenus. Le nom se trouve dans les balise <a ref> au dessus de chaque table. J'ai essayé de trouver comment récupérer la donnée mais je bloque aussi là-dessus...
Merci d'avance
Partager