# Sélecteurs CSS/XPath pour Cdiscount
# Mis à jour le 2026-01-13 après analyse du HTML réel

# ⚠️ IMPORTANT: Cdiscount utilise une protection anti-bot forte
# - HTTP simple ne fonctionne PAS (retourne une page de protection JavaScript)
# - Playwright est OBLIGATOIRE pour récupérer le vrai contenu
# - Les classes CSS sont générées dynamiquement et peuvent changer

# Titre du produit
# Utiliser data-e2e car plus stable que les classes CSS
title:
  - "h1[data-e2e='title']"
  - "h1"  # Fallback: premier h1

# Prix principal
# Les classes CSS sont instables (sc-83lijy-0, kwssIa, etc.)
# Meilleure approche: extraire par regex depuis le texte
# Pattern: (\d+[,\.]\d+)\s*€
price:
  - "div[data-e2e='price']"  # Nouveau layout (2026)
  - "div[class*='SecondaryPrice-price']"
  - "div[class*='price']"
  - ".fpPrice"

# Prix de comparaison (prix barré)
price_compare:
  - "div[class*='SecondaryPrice-wrapper']"

# Devise
# Toujours EUR pour Cdiscount France
currency:
  - "meta[itemprop='priceCurrency']"
  # Fallback: statique EUR

# Frais de port
shipping_cost:
  - ".fpDeliveryInfo"
  - "div[class*='delivery']"

# Statut de stock
# Non trouvé dans l'analyse HTML - peut être dynamique
stock_status:
  - "link[itemprop='availability']"
  - "div[class*='availability']"
  - ".fpAvailability"

# Images produit
# Filtrer par attribut alt contenant le titre
images:
  - "img[alt]"  # Toutes les images avec alt
  # URL format: https://www.cdiscount.com/pdt2/0/0/4/X/700x700/SKU/rw/...

# Catégorie / breadcrumb
# Pas trouvé dans le HTML analysé
# Extraire depuis l'URL: /informatique/ordinateurs-pc-portables/...
category:
  - ".breadcrumb"
  - "nav[class*='breadcrumb']"

# Caractéristiques techniques
# Non trouvées dans l'analyse - peuvent être dans des onglets cachés
specs_table:
  - "table[class*='characteristic']"
  - ".fpCharacteristics"
  - "div[class*='specs']"

# SKU / référence produit
# Extraction depuis l'URL plus fiable que le HTML
# URL pattern: /f-10709-tuf608umrv004.html
# Regex: /f-(\d+)-([a-z0-9]+)\.html
# SKU = groupe 2
sku:
  - "span[itemprop='sku']"
  - "meta[itemprop='productID']"

# Notes importantes:
# 1. ⚠️ Playwright OBLIGATOIRE - HTTP ne fonctionne pas
# 2. Classes CSS instables - utiliser data-e2e quand disponible
# 3. Prix: parser par regex (\d+[,\.]\d+)\s*€ plutôt que CSS
# 4. SKU: extraire depuis URL /f-\d+-([a-z0-9]+)\.html
# 5. Catégorie: extraire depuis URL path /categorie1/categorie2/
# 6. Images: filtrer celles avec alt contenant le titre produit
# 7. Devise: toujours EUR pour France (static fallback OK)
