
    /_i                     v    d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ  G d d      Z G d	 d
e      Zy)    )Any)
deprecated)DesiredCapabilities)
ArgOptions)FirefoxBinary)FirefoxProfilec                        e Zd ZddZdefdZy)LogreturnNc                     d | _         y Nlevelselfs    a/var/www/html/land_sniper/venv/lib/python3.12/site-packages/selenium/webdriver/firefox/options.py__init__zLog.__init__   s	    
    c                 >    | j                   rdd| j                   iiS i S )Nlogr   r   r   s    r   to_capabilitieszLog.to_capabilities    s"    ::GTZZ011	r   r   N)__name__
__module____qualname__r   dictr    r   r   r
   r
      s     r   r
   c                       e Zd ZdZd fdZe ed      defd              Zej                   ed      de
ez  ddfd              Zede
fd	       Zej                  d
e
ddfd       Zedefd       Zde
d
e
ez  ez  fdZededz  fd       Zej                  de
ez  ddfd       Z	 dde
dz  f fdZdefdZedefd       Z xZS )Optionszmoz:firefoxOptionsr   Nc                     t         |           d| _        i | _        d| j                  d<   d | _        t               | _        y )N    zremote.active-protocols)superr   _binary_location_preferences_profiler
   r   )r   	__class__s    r   r   zOptions.__init__)   sA     ""$ 8934/35r   zuse binary_location insteadc                 ,    t        | j                        S )z#Returns the FirefoxBinary instance.)r   r$   r   s    r   binaryzOptions.binary3   s     T2233r   
new_binaryc                 \    t        |t              r|j                  }t        |      | _        y)zBSet location of browser binary (string or FirefoxBinary instance).N)
isinstancer   
_start_cmdstrbinary_location)r   r*   s     r   r)   zOptions.binary9   s%     j-0#..J":r   c                     | j                   S )z#Returns the location of the binary.)r$   r   s    r   r/   zOptions.binary_locationA   s     $$$r   valuec                 \    t        |t              st        | j                        || _        y)z2Sets the location of the browser binary by string.N)r,   r.   	TypeErrorBINARY_LOCATION_ERRORr$   )r   r1   s     r   r/   zOptions.binary_locationF   s'     %%D6677 %r   c                     | j                   S )zReturns a dict of preferences.r%   r   s    r   preferenceszOptions.preferencesM   s        r   namec                 "    || j                   |<   y)zSets a preference.Nr6   )r   r8   r1   s      r   set_preferencezOptions.set_preferenceR   s    "'$r   c                     | j                   S )z#Returns the Firefox profile to use.)r&   r   s    r   profilezOptions.profileV   s     }}r   new_profilec                 H    t        |t              st        |      }|| _        y)zQSet the location of the browser profile to use (string or FirefoxProfile object).N)r,   r   r&   )r   r=   s     r   r<   zOptions.profile[   s     +~6(5K#r   android_packagec                 (    t         |   |||       y r   )r#   enable_mobile)r   r?   android_activitydevice_serialr'   s       r   rA   zOptions.enable_mobileb   s     	o/?Or   c                    | j                   }i }| j                  r| j                  |d<   | j                  r| j                  |d<   | j                  r| j                  j                  |d<   | j
                  r| j
                  |d<   | j                  r|j                  | j                         |j                  | j                  j                                |r||t        j                  <   |S )z>Marshals the Firefox options to a `moz:firefoxOptions` object.r)   prefsr<   args)_capsr$   r%   r&   encoded
_argumentsmobile_optionsupdater   r   r   KEY)r   capsoptss      r   r   zOptions.to_capabilitiesg   s     zz!  !22DN --DM=="mm33DO????DLKK++,DHH,,./ $Dr   c                 >    t         j                  j                         S r   )r   FIREFOXcopyr   s    r   default_capabilitieszOptions.default_capabilities   s    "**//11r   r   )zorg.mozilla.firefoxNN)r   r   r   rL   r   propertyr   r   r)   setterr.   r/   r   r7   intboolr:   r   r<   rA   r   rR   __classcell__)r'   s   @r   r   r   &   su   
C -.4 4 / 4 ]]-./}!4 / / / / % % % &S &T & & !T ! !(3 (sSy4/? ( $.   ^^$3#7 $D $ $ imP"TzP
 6 2d 2 2r   r   N)typingr   typing_extensionsr   .selenium.webdriver.common.desired_capabilitiesr   !selenium.webdriver.common.optionsr   )selenium.webdriver.firefox.firefox_binaryr   *selenium.webdriver.firefox.firefox_profiler   r
   r   r   r   r   <module>r^      s1   $  ( N 8 C E ^2j ^2r   