Tout d'abord,
Bonsoir à tous,
Je précise que je suis novice total en VBA.
J'ai un souci, j'ai créé une petite macro me permettant de récupérer prix et disponibilités de produits de mon fournisseur pour les importer sur Excel.
La macro fonctionne comme je veux jusque ".document.all("submit_search").Click", c'est après que je n'arrive pas à trouver comment extraire prix et disponibilité du code source de la page du produit.
Dans le code source, les prix et disponibilités qui m'intéressent sont <span class="price" et <span class="availability">
Le code de ma macro est le suivant:
Voici l'extrait type du code source de la fiche produit.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 Recherche1() Dim url url = "http://www.bio-express.fr/catalogue/search.php" i = Sheets("Catalogue").Cells(2, 4) crawler url, i End Sub Function crawler(url, reference) Dim IE As Object, doc As Object, x As Variant, myValue As String, myValue1 As String Set IE = CreateObject("internetexplorer.application") With IE .Navigate url .Visible = True Do: DoEvents: Loop While .readystate <> 4 Or .Busy If .locationurl = "http://www.bio-express.fr/catalogue/search.php" Then .document.all("search_query").innerText = reference Do: DoEvents: Loop While .readystate <> 4 Or .Busy .document.all("submit_search").Click Do: DoEvents: Loop While .readystate <> 4 Or .Busy .document.getElementsByClassName("price") = myValue myValue = Sheets("Catalogue").Cells(2, 3) MsgBox myValue .document.getElementsByClassName("availability") = myValue1 myValue1 = Sheets("Catalogue").Cells(2, 5) End If End With End Function
En l'attente de vos réponses, bonne soirée à tous.
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 </form> <!-- /Sort products --> <!-- Products list --> <ul id="product_list" class="clear"> <li class="ajax_block_product first_item item clearfix"> <div class="center_block"> <a href="http://www.bio-express.fr/catalogue/product.php?id_product=128979" class="product_img_link" title="B-Force (Levure de Bière) - 250 comprimés "><img src="/catalogue/img/p/128979-21363-home.jpg" alt="04209023" /></a> <span>Abbaye de Sept-Fons</span> <h3><a href="http://www.bio-express.fr/catalogue/product.php?id_product=128979" title="B-Force (Levure de Bière) - 250 comprimés ">B-Force (Levure de Bière) - 250 comprimés </a></h3> <!--<p class="product_desc"><a href="http://www.bio-express.fr/catalogue/product.php?id_product=128979" title="Pas de description disponible pour ce produit. Vous pouvez contacter la télévent…">Pas de description disponible pour ce produit. Vous pouvez contacter la télévent…</a></p>--> <p class="product_desc"> <div class="discount_list_other_discounts"> Pour 6 achetés = -10% </div> </p> </div> <div class="right_block"> <div> <span class="price" style="display: inline;">4,07 </span><br /> <span class="availability"> <span class="prod_stock_list prod_stock_caution">Stock < 10 !</span> </span> </div>
Partager