
    >i                        d dl mZ d dlZd dlZd dlmZmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ erd dlmZ  ej"                  e      Z G d	 d
e      Zy)    )annotationsN)TYPE_CHECKINGOptional)Browser)ChromiumOptionsManager)UnsupportedOS)validate_browser_paths)Optionsc                  @     e Zd ZdZ	 	 d	 	 	 d fdZed        Z xZS )Edgez/Edge browser implementation for CDP automation.c                <    t        |      }t        | 	  ||       y)z
        Initialize Edge browser instance.

        Args:
            options: Edge configuration options (default if None).
            connection_port: CDP WebSocket port (random if None).
        N)r   super__init__)selfoptionsconnection_portoptions_manager	__class__s       b/var/www/python/tenders/Scrapper/venv/lib/python3.12/site-packages/pydoll/browser/chromium/edge.pyr   zEdge.__init__   s     19/:    c                 "   t        j                         } t        j                  d|         ddgdgdgd}|j	                  |       }|s"t        j                  d|         t               t        |      }t        j                  d|        |S )	z
        Get default Edge executable path based on OS.

        Returns:
            Path to Edge executable.

        Raises:
            UnsupportedOS: If OS is not supported.
            ValueError: If executable not found at default location.
        z&Resolving default Edge binary for OS: z6C:\Program Files\Microsoft\Edge\Application\msedge.exez<C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exez/usr/bin/microsoft-edgez>/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge)WindowsLinuxDarwinzUnsupported OS: zUsing Edge binary: )platformsystemloggerdebuggeterrorr   r	   )os_namebrowser_pathsbrowser_pathpaths       r   _get_default_binary_locationz!Edge._get_default_binary_location$   s     //#=gYGH
#/	 * R
& %((1LL+G956/!%l3*4&12r   )NN)r   zOptional[Options]r   zOptional[int])__name__
__module____qualname____doc__r   staticmethodr%   __classcell__)r   s   @r   r   r      s9    9 &*)-;"; '; ) )r   r   )
__future__r   loggingr   typingr   r   pydoll.browser.chromium.baser   pydoll.browser.managersr   pydoll.exceptionsr   pydoll.utilsr	   pydoll.browser.optionsr
   	getLoggerr&   r   r    r   r   <module>r6      sA    "   * 0 : + /.			8	$<7 <r   