§
    °õi†*  ã                   óˆ   — d dl mZ d dlmZ d dlmZ d dlmZ  G d„ de¦  «        Z G d„ d¦  «        Z	 G d	„ d
e¦  «        Z
dS )é    )ÚEnum)ÚAny)ÚDesiredCapabilities)Ú
ArgOptionsc                   ó   — e Zd ZdZdZdS )ÚElementScrollBehaviorr   é   N)Ú__name__Ú
__module__Ú__qualname__ÚTOPÚBOTTOM© ó    úi/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/selenium/webdriver/ie/options.pyr   r      s   € € € € € Ø
€CØ€F€F€Fr   r   c                   ó&   — e Zd ZdZd„ Zd„ Zdd„ZdS )Ú_IeOptionsDescriptoraÍ  _IeOptionsDescriptor is an implementation of Descriptor Protocol.

    Any look-up or assignment to the below attributes in `Options` class will be intercepted
    by `__get__` and `__set__` method respectively.

    - `browser_attach_timeout`
    - `element_scroll_behavior`
    - `ensure_clean_session`
    - `file_upload_dialog_timeout`
    - `force_create_process_api`
    - `force_shell_windows_api`
    - `full_page_screenshot`
    - `ignore_protected_mode_settings`
    - `ignore_zoom_level`
    - `initial_browser_url`
    - `native_events`
    - `persistent_hover`
    - `require_window_focus`
    - `use_per_process_proxy`
    - `use_legacy_file_upload_dialog_handling`
    - `attach_to_edge_chrome`
    - `edge_executable_path`

    When an attribute lookup happens:

    Example:
        `self. browser_attach_timeout`
        `__get__` method does a dictionary look up in the dictionary `_options` in `Options` class
        and returns the value of key `browserAttachTimeout`

    When an attribute assignment happens:

    Example:
        `self.browser_attach_timeout` = 30
        `__set__` method sets/updates the value of the key `browserAttachTimeout` in `_options`
        dictionary in `Options` class.
    c                 ó"   — || _         || _        d S ©N)ÚnameÚexpected_type)Úselfr   r   s      r   Ú__init__z_IeOptionsDescriptor.__init__D   s   € ØˆŒ	Ø*ˆÔÐÐr   c                 ó@   — |j                              | j        ¦  «        S r   )Ú_optionsÚgetr   )r   ÚobjÚclss      r   Ú__get__z_IeOptionsDescriptor.__get__H   s   € ØŒ|×Ò ¤	Ñ*Ô*Ð*r   ÚreturnNc                 óü   — t          || j        ¦  «        s#t          | j        › d| j        j        › �¦  «        ‚| j        dk    r)|t
          j        t
          j        fvrt          d¦  «        ‚||j        | j        <   d S )Nz should be of type ÚelementScrollBehaviorz%Element Scroll Behavior out of range.)	Ú
isinstancer   Ú
ValueErrorr   r
   r   r   r   r   )r   r   Úvalues      r   Ú__set__z_IeOptionsDescriptor.__set__K   s�   € Ý˜% Ô!3Ñ4Ô4ð 	]Ý ¤	Ð[Ð[¸dÔ>PÔ>YÐ[Ð[Ñ\Ô\Ð\àŒ9Ð/Ò/Ð/°EÝ!Ô%Ý!Ô(ðB
ð 5
ð 5
õ ÐDÑEÔEÐEØ"'ˆŒ�T”YÑÐÐr   ©r    N)r
   r   r   Ú__doc__r   r   r&   r   r   r   r   r      sQ   € € € € € ð$ð $ðL+ð +ð +ð+ð +ð +ð	(ð 	(ð 	(ð 	(ð 	(ð 	(r   r   c                   óš  ‡ — e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZ eee¦  «        Z	  eee¦  «        Z	  eee¦  «        Z	  eee¦  «        Z	  ee	e¦  «        Z	  ee
e¦  «        Z 	  eee¦  «        Z!	  eee¦  «        Z"	  eee¦  «        Z#	  eee$¦  «        Z%	  eee¦  «        Z&	  eee¦  «        Z'	  eee¦  «        Z(	  eee¦  «        Z)	  eee¦  «        Z*	  eee¦  «        Z+	  eee$¦  «        Z,	 dˆ fd„Z-e.de/fd„¦   «         Z0e.de/fd„¦   «         Z1de$ddfd„Z2de/fd„Z3e.de/fd„¦   «         Z4ˆ xZ5S )ÚOptionszse:ieOptionszie.browserCommandLineSwitchesÚbrowserAttachTimeoutr"   zie.ensureCleanSessionzie.fileUploadDialogTimeoutzie.forceCreateProcessApizie.forceShellWindowsApizie.enableFullPageScreenshotÚignoreProtectedModeSettingsÚignoreZoomSettingÚinitialBrowserUrlÚnativeEventsÚenablePersistentHoverÚrequireWindowFocuszie.usePerProcessProxyz$ie.useLegacyFileUploadDialogHandlingzie.edgechromiumzie.edgepathzie.ignoreprocessmatchr    Nc                 ód   •— t          ¦   «                              ¦   «          i | _        i | _        d S r   )Úsuperr   r   Ú_additional)r   Ú	__class__s    €r   r   zOptions.__init__n  s.   ø€ Ý‰Œ×ÒÑÔÐØ(*ˆŒØ+-ˆÔÐÐr   c                 ó   — | j         S )zG
        Returns:
            A dictionary of browser options.
        )r   ©r   s    r   ÚoptionszOptions.optionss  s   € ð Œ}Ðr   c                 ó   — | j         S )z>
        Returns:
            The additional options.
        ©r4   r7   s    r   Úadditional_optionszOptions.additional_options{  s   € ð ÔÐr   r   c                 ó   — || j         |<   dS )z²Adds an additional option not yet added as a safe option for IE.

        Args:
            name: name of the option to add
            value: value of the option to add
        Nr:   )r   r   r%   s      r   Úadd_additional_optionzOptions.add_additional_optionƒ  s   € ð "'ˆÔ˜ÑÐÐr   c                 óü   — | j         }| j                             ¦   «         }| j        r"d                     | j        ¦  «        || j        <   | j        r|                     | j        ¦  «         |r||t          j	        <   |S )z.Marshals the IE options to the correct object.ú )
Ú_capsr   ÚcopyÚ
_argumentsÚjoinÚSWITCHESr4   Úupdater*   ÚKEY)r   ÚcapsÚoptss      r   Úto_capabilitieszOptions.to_capabilitiesŒ  sy   € àŒzˆàŒ}×!Ò!Ñ#Ô#ˆØŒ?ð 	<Ø"%§(¢(¨4¬?Ñ";Ô";ˆD�”ÑàÔð 	*Ø�KŠK˜Ô(Ñ)Ô)Ð)àð 	%Ø $ˆD•”ÑØˆr   c                 ó>   — t           j                             ¦   «         S r   )r   ÚINTERNETEXPLORERrA   r7   s    r   Údefault_capabilitieszOptions.default_capabilities›  s   € å"Ô3×8Ò8Ñ:Ô:Ð:r   r'   )6r
   r   r   rF   rD   ÚBROWSER_ATTACH_TIMEOUTÚELEMENT_SCROLL_BEHAVIORÚENSURE_CLEAN_SESSIONÚFILE_UPLOAD_DIALOG_TIMEOUTÚFORCE_CREATE_PROCESS_APIÚFORCE_SHELL_WINDOWS_APIÚFULL_PAGE_SCREENSHOTÚIGNORE_PROTECTED_MODE_SETTINGSÚIGNORE_ZOOM_LEVELÚINITIAL_BROWSER_URLÚNATIVE_EVENTSÚPERSISTENT_HOVERÚREQUIRE_WINDOW_FOCUSÚUSE_PER_PROCESS_PROXYÚ&USE_LEGACY_FILE_UPLOAD_DIALOG_HANDLINGÚATTACH_TO_EDGE_CHROMEÚEDGE_EXECUTABLE_PATHÚIGNORE_PROCESS_MATCHr   ÚintÚbrowser_attach_timeoutr   Úelement_scroll_behaviorÚboolÚensure_clean_sessionÚfile_upload_dialog_timeoutÚforce_create_process_apiÚforce_shell_windows_apiÚfull_page_screenshotÚignore_protected_mode_settingsÚignore_zoom_levelÚstrÚinitial_browser_urlÚnative_eventsÚpersistent_hoverÚrequire_window_focusÚuse_per_process_proxyÚ&use_legacy_file_upload_dialog_handlingÚattach_to_edge_chromeÚedge_executable_pathr   ÚpropertyÚdictr8   r;   r=   rI   rL   Ú__classcell__)r5   s   @r   r*   r*   W   s1  ø€ € € € € Ø
€CØ.€Hà3ÐØ5ÐØ2ÐØ!=ÐØ9ÐØ7ÐØ8ÐØ%BÐ"Ø+ÐØ-ÐØ"€MØ.ÐØ/ÐØ3ÐØ-SÐ*Ø-ÐØ(ÐØ2Ðð 2Ð1Ð2HÈ#ÑNÔNÐðð 3Ð2Ð3JÈDÑQÔQÐðð 0Ð/Ð0DÀdÑKÔKÐðð "6Ð!5Ð6PÐRUÑ!VÔ!VÐðð  4Ð3Ð4LÈdÑSÔSÐðð 3Ð2Ð3JÈDÑQÔQÐðð 0Ð/Ð0DÀdÑKÔKÐðð &:Ð%9Ð:XÐZ^Ñ%_Ô%_Ð"ðð -Ð,Ð->ÀÑEÔEÐðð /Ð.Ð/BÀCÑHÔHÐðð )Ð(¨¸Ñ=Ô=€Mðð ,Ð+Ð,<¸dÑCÔCÐðð 0Ð/Ð0DÀdÑKÔKÐðð 1Ð0Ð1FÈÑMÔMÐðð .BÐ-AÐBhÐjnÑ-oÔ-oÐ*ðð 1Ð0Ð1FÈÑMÔMÐðð 0Ð/Ð0DÀcÑJÔJÐðð.ð .ð .ð .ð .ð .ð
 ð˜ð ð ð ñ „Xðð ð  Dð  ð  ð  ñ „Xð ð'¨#ð '¸ð 'ð 'ð 'ð 'ð ð ð ð ð ð ð; dð ;ð ;ð ;ñ „Xð;ð ;ð ;ð ;ð ;r   r*   N)Úenumr   Útypingr   Ú.selenium.webdriver.common.desired_capabilitiesr   Ú!selenium.webdriver.common.optionsr   r   r   r*   r   r   r   ú<module>rz      sà   ðð" Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à NÐ NÐ NÐ NÐ NÐ NØ 8Ð 8Ð 8Ð 8Ð 8Ð 8ðð ð ð ð ˜Dñ ô ð ð
7(ð 7(ð 7(ð 7(ð 7(ñ 7(ô 7(ð 7(ðtF;ð F;ð F;ð F;ð F;ˆjñ F;ô F;ð F;ð F;ð F;r   