
    6	h                         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	Z	d dl
Z
d dlZd dlmZ 	 d dlmZ n# e$ r dZY nw xY w	 ddedz  fdZed	k    r ed
           dS dS )    N)	webdriver)Service)ChromeDriverManager)
app_logger)	ConsoleUIuic           	         t          j                    j        }t          j        d| d|            d| d}t
          j                            |d          }t
          j                            t
          j                            ||                    }t          j	        d| d|            	 t          j
        |d           n5# t          $ r(}t          j        d| d	| d
|            Y d}~dS d}~ww xY wt          j                    }	|                     ddd          }
|                     dd          }|
r.|	                    d           t          j        d| d           nt          j        d| d           |	                    d           |	                    d           |	                    d           |	                    d           |	                    d|            |	                    d           |	                    d           |	                    d           |	                    ddg           |ddddd }|	                    d!|           d}	 t          j        d| d"           t&          j        sd#nd$t
          j        d%<   t
          j                            |d&| d'          }t          j
        |d           t-          t/                                                      |(          }t          j        d| d)| d*           t          j	        d| d+           t          j        ||	,          }|                     dd-d.          }|                    |           t          j        d| d/| d0           t          j	        d| d1|            ||fS # t8          $ r=}t          j        d| d2| d3           |r|                                 Y d}~dS d}~wt>          $ r=}t          j        d| d4| d3           |r|                                 Y d}~dS d}~ww xY w)5z
    Configures and returns a Selenium WebDriver instance and its specific download directory.
    Creates a unique subdirectory for each worker.
    [z,] Setting up Selenium driver for Worker ID: worker__dlselenium_tempz"] Configuring download directory: T)exist_okz.] Failed to create worker download directory 'z': N)NNSeleniumheadlessF)fallbackMisc
user_agentz--headless=newz] Running in headless mode.z] Running in headful mode.z--no-sandboxz--disable-dev-shm-usagez--disable-gpuz--window-size=1920,1080zuser-agent=z--log-level=3z--disable-loggingz$--blink-settings=imagesEnabled=falseexcludeSwitcheszenable-logging)zdownload.default_directoryzdownload.prompt_for_downloadzdownload.directory_upgradez"plugins.always_open_pdf_externallyzsafebrowsing.enabledprefsz$] Setting up ChromeDriver service...0INFOWDM_LOG_LEVELchromedriver_z.log)
log_outputz&] ChromeDriver service created (Logs: z).z$] Initializing WebDriver instance...)serviceoptionspage_load_timeoutZ   z,] WebDriver initialized. Page load timeout: zs.z6] WebDriver setup complete. Downloads configured for: z%] ValueError during WebDriver setup: )exc_infoz$] Exception during WebDriver setup: ) 	threadingcurrent_threadnamer   debugospathjoinabspathinfomakedirsOSErrorcriticalr   ChromeOptions
getbooleangetadd_argumentadd_experimental_optionlogger_debug_enabledenvironChromeServicer   installChromegetintset_page_load_timeout
ValueErrorerrorquit	Exception)configdynamic_output_dir_base	worker_idr   thread_nameworker_download_dir_nameselenium_temp_baseabs_worker_download_direr   r   r   r   driverservice_log_pathr   r   ves                     8c:\Users\brownies\Downloads\rentrytest\selenium_setup.pysetup_selenium_driverrI      sI    *,,1KPKPPYPP    8777&=OO goo
')ABB  OTKTT;RTT  
+d;;;;;   jjjKbjjghjj	
 	
 	
 zzzzz	 %''G  Z% HHHFL11J F-...E[EEEFFFFD[DDDEEE(((2333)))23333z33444))),---?@@@##$58H7IJJJ '>(-&*.2 $ E ##GU333F*N[NNNOOO171F&RccF
?#7<< ?	 ? ? ?
 
 	&6666!!))++8H
 
 
 	WWWCSWWW	
 	
 	
 	MKMMMNNN!'7CCC"MM*6ITVMWW$$%6777^^^IZ^^^	
 	
 	
 	lllSjll	
 	
 	
 ...   FFF"FFQU	
 	
 	
 	
  	KKMMMzzzzz   DDDDDt	
 	
 	
 	
  	KKMMMzzzzzs=   1C 
C:C55C:)EN6 6
Q 2O88Q2P==Q__main__zLThis module sets up the Selenium driver and is not meant to be run directly.)r   N)r$   r    seleniumr   !selenium.webdriver.chrome.servicer   r4   webdriver_manager.chromer   sysloggingr1   r   
console_uir   ImportErrorrI   __name__print     rH   <module>rV      s'   				           F F F F F F 8 8 8 8 8 8 



        $$$$$$$   III
 JNf f6?$6Ff f f fR z	EV     s   5 ??