
    i                     ^    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)DesiredCapabilities)
ArgOptions)FirefoxProfilec                        e Zd ZddZdefdZy)LogreturnNc                     d | _         y Nlevelselfs    ^/var/www/html/BatchJob/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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   c                     | j                   S )z#Returns the location of the binary.)r"   r   s    r   binary_locationzOptions.binary_location0   s     $$$r   valuec                 \    t        |t              st        | j                        || _        y)z2Sets the location of the browser binary by string.N)
isinstancestr	TypeErrorBINARY_LOCATION_ERRORr"   )r   r(   s     r   r'   zOptions.binary_location5   s'     %%D6677 %r   c                     | j                   S )zReturns a dict of preferences.r#   r   s    r   preferenceszOptions.preferences<   s        r   namec                 "    || j                   |<   y)zSets a preference.Nr/   )r   r1   r(   s      r   set_preferencezOptions.set_preferenceA   s    "'$r   c                     | j                   S )z#Returns the Firefox profile to use.)r$   r   s    r   profilezOptions.profileE   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   r6   s     r   r5   zOptions.profileJ   s     +~6(5K#r   android_packagec                 (    t         |   |||       y r   )r!   enable_mobile)r   r8   android_activitydevice_serialr%   s       r   r:   zOptions.enable_mobileQ   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.binaryprefsr5   args)_capsr"   r#   r$   encoded
_argumentsmobile_optionsupdater   r   r   KEY)r   capsoptss      r   r   zOptions.to_capabilitiesV   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_capabilitiesq   s    "**//11r   r   )zorg.mozilla.firefoxNN)r   r   r   rF   r   propertyr+   r'   setterr   r0   intboolr3   r   r5   r:   r   rL   __classcell__)r%   s   @r   r   r   #   s   
C % % % &S &T & & !T ! !(3 (sSy4/? ( $.   ^^$3#7 $D $ $ imP"TzP
 6 2d 2 2r   r   N)
typingr   .selenium.webdriver.common.desired_capabilitiesr   !selenium.webdriver.common.optionsr   *selenium.webdriver.firefox.firefox_profiler   r   r   r   r   r   <module>rV      s+   $  N 8 E P2j P2r   