
    \h                     t    d dl Z d dlZd dlZd dlmZ d dlmZ d dlm	Z
 d dlmZ ddZd Zd	 Zd
 Zd Zd ZdS )    N)By)WebDriverWait)expected_conditions)ChromeDriverManager c                     t          j        | |          }t          d|dd| d           t          j        |           dS )zEWait for a random amount of time between min_seconds and max_seconds.u   ⏳ Attente de z.2fz secondes (z)...N)randomuniformprinttimesleep)min_secondsmax_secondsreason	wait_times       +/var/www/sites/NaturellementBio/dpnature.pywait_randomr   
   sN    {K88I	
BI
B
B
Bf
B
B
BCCCJy    c                 x   |                      d           t          ddd           |                     t          j        d                              |           t          ddd           |                     t          j        d                              |           t          ddd	           	 t          | d
                              t          j	        t          j        df                    
                                 n%# t          $ r |                     d           Y nw xY wt          ddd           d S )Nz/https://www.dpnature.fr/customer/account/login/      u!   après ouverture de la page loginemail   zentre email et mot de passepasszavant clic login
   send2z)document.getElementById('send2').click();   u   après soumission du formulaire)getr   find_elementr   ID	send_keysr   untilECelement_to_be_clickableclick	Exceptionexecute_script)driverr   passwords      r   login_to_dpnaturer*      s6   
JJ@AAA19::: w''11%88813444
v&&00:::1()))Kfb!!''&w'788	
 	

%'''' K K KIJJJJJK 1788888s   0AD D&%D&c                     d| j         v S )Nzcustomer/account)current_url)r(   s    r   is_logged_inr-   %   s    !333r   c                    t          d|            |                     |           t          ddd           t          d| d           	 |                     t          j        d| d          }t          d	|                    d
                      |                    d          }d|v rt          d| d           dS t          d| d           dS # t          $ r }t          d| d|            Y d }~d S d }~ww xY w)N!   🔎 Accès à la page produit :    r   pour chargement JSu(   🧬 Recherche de la variante option-id=z...zdiv[option-id='z']#   🔍 HTML de l'élément trouvé : 	outerHTMLclassdisabledu   ❌ Variante z
 : ruptureFu   ✅ Variante z : en stockTu    non trouvée : )r   r   r   r   r   CSS_SELECTORget_attributer&   )r(   product_url	option_idelementclasseses         r   get_stock_variant_dp_naturer=   (   sL   	
;k
;
;<<<
JJ{2+,,,	
CY
C
C
CDDD%%bo7V7V7V7VWWXG4I4I+4V4VXXYYY''00  7)77788858)8889994   <i<<<<===ttttts   A5C C 
D#C>>Dc                    t          d|            |                     |           t          ddd           	 |                     t          j        d          }|                    d          }t          d|                    d                      |d	k    rt          d
|            dS t          d|            dS # t          $ r}t          d|            Y d }~d S d }~ww xY w)Nr/   r0   r   r1   z(//meta[@property='product:availability']contentr2   r3   zin stocku   ✅ Produit disponible : Tu   ❌ Produit non disponible : Fu;   ❌ Erreur lors de la récupération de l'état de stock : )r   r   r   r   r   XPATHr7   r&   )r(   r8   availability_metaavailability_contentr<   s        r   !get_stock_product_without_variantrC   =   s   	
;k
;
;<<<
JJ{2+,,,"//:dee0>>yIIb4E4S4ST_4`4`bbccc  :--;k;;<<<4?+??@@@5   OAOOPPPttttts   A2C .C 
C)C$$C)c                  *   t          j                    } |                     d           |                     d           |                     d           |                     d           |                     d           t          j        | d          }|S )Nz
--headlessz---disable-blink-features=AutomationControlledz--disable-gpuz--no-sandboxz7user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64)...   )optionsversion_main)ucChromeOptionsadd_argumentChrome)rF   r(   s     r   initialize_driverrL   Q   s      G&&&HIII)))(((RSSSYwS999FMr   )r   )r   r	   undetected_chromedriverrH   selenium.webdriver.common.byr   selenium.webdriver.support.uir   selenium.webdriver.supportr   r#   webdriver_manager.chromer   r   r*   r-   r=   rC   rL    r   r   <module>rS      s      $ $ $ $ + + + + + + 7 7 7 7 7 7 @ @ @ @ @ @ 8 8 8 8 8 8   9 9 9*4 4 4  *  (	 	 	 	 	r   