# Sélecteurs CSS/XPath pour AliExpress.com # Mis à jour le 2026-01-13 après analyse du HTML réel # ⚠️ IMPORTANT: AliExpress utilise un rendu client-side (SPA React/Vue) # - HTTP fonctionne mais retourne un HTML minimal (75KB) # - Playwright OBLIGATOIRE pour obtenir le contenu rendu # - Attendre le sélecteur '.product-title' ou ajouter un délai (~3s) # - Les données sont chargées dynamiquement via AJAX # ⚠️ Extraction prioritaire: # 1. Titre: h1 ou meta[property="og:title"] # 2. Prix: Regex dans le HTML (aucun sélecteur stable) # 3. Images: window._d_c_.DCData.imagePathList (JSON embarqué) # 4. SKU: Depuis l'URL /item/{ID}.html # Titre du produit # Le h1 apparaît après chargement AJAX title: - "h1" - "meta[property='og:title']" # Fallback dans meta tags # Prix principal # ⚠️ AUCUN SÉLECTEUR STABLE - Utiliser regex sur le HTML # Pattern: ([0-9]+[.,][0-9]{2})\s*€ ou €\s*([0-9]+[.,][0-9]{2}) price: - "span[class*='price']" - "div[class*='price']" - "span.product-price" # Ces sélecteurs ne fonctionnent PAS - prix extrait par regex # Devise # Toujours EUR pour fr.aliexpress.com currency: - "meta[property='og:price:currency']" # Fallback: détecter depuis l'URL (fr = EUR) # Images produit # ⚠️ Les images sont dans window._d_c_.DCData.imagePathList # Format: https://ae01.alicdn.com/kf/{hash}.jpg images: - "img[alt]" # Extraction depuis DCData JSON plus fiable # Catégorie / breadcrumb category: - "nav[aria-label='breadcrumb'] a" - ".breadcrumb a" # Caractéristiques techniques # Peuvent être dans des onglets ou sections dépliables specs_table: - "div[class*='specification']" - "div[class*='properties']" - "dl" # SKU / référence produit # Extraction depuis l'URL plus fiable # URL pattern: /item/{ID}.html # SKU = ID (10 chiffres) sku: - "meta[property='product:retailer_item_id']" - "span[data-spm-anchor-id]" # Stock / Disponibilité stock_status: - "button[class*='add-to-cart']" - "button[class*='addtocart']" - "div[class*='availability']" # Notes importantes: # 1. ⚠️ Playwright OBLIGATOIRE avec wait - HTML minimal sinon # 2. Attendre le sélecteur '.product-title' avant de parser # 3. Prix: REGEX obligatoire - aucun sélecteur CSS stable # 4. Images: Extraire depuis window._d_c_.DCData (JSON) # 5. SKU: Extraire depuis URL /item/{ID}.html → ID = SKU # 6. Devise: EUR pour France (fr.aliexpress.com) # 7. Classes CSS générées aléatoirement (hachées) - TRÈS INSTABLES # 8. Pas de JSON-LD schema.org disponible # 9. Temps de chargement: ~3-5s avec Playwright + wait