Extraire texte d'une page HTML
Bonjour tout le monde !
Je cherche à extraire une partie du code HTML d'un site de drive hypermarché et plus particulièrement la liste des ingrédients.
J'ai bien réussi en passant par l'arborescence de la page :
Code:
1 2 3 4
|
Set HTMLElementStandardIngredients = IEDoc.body.Children(2).Children(0).Children(0).Children(0).Children(0).Children(0).Children(0).Children(1).Children(0).Children(0).Children(0).Children(2).Children(2).Children(2).Children(2).Children(1).Children(0)
'Copier les ingrédients dans "Ingredients"
Ingredients = HTMLElementStandardIngredients.innerText |
Cependant, la configuration de la page change suivant les produits. Pour contourner cela j'ai donc pensé à chercher le mot "Ingrédients" dans le code, puis prendre l'élément Parent pour ensuite pointer le deuxième enfant, et donc la liste des ingrédients ("Ingrédients" étant le titre de la section).
Mais je me heurte à l'erreur 91, sûrement un problème de langage :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
Sub Test()
Dim IE As New InternetExplorer
Dim IEDoc As HTMLDocument
Dim Ingr As HTMLGenericElement
Dim ListeIngr As String
'Ouvre la page Web
IE.Navigate "http://courses.carrefour.fr/drive/tous-les-rayons/sauce-tomate-cuisinee-aux-petits-legumes/PID1/154072/921783/"
IE.Visible = False
Do Until IE.readyState = 4
DoEvents
Loop
Set IEDoc = IE.document
Set Ingr = IEDoc.all("Ingrédients")
ListeIngr = Fiche.parentElement.Children(1).innerText
MsgBox ListeIngr
Set IE = Nothing
Set IEDoc = Nothing
End Sub |
Est-ce que quelqu'un peut me venir en aide ?
En vous remerciant par avance,
Guillaume.