§
    °õiZ  ã                   ót   — d dl mZmZ d dlmZmZ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d	S )
é    )ÚOptionalÚUnion)ÚNoSuchElementExceptionÚNoSuchFrameExceptionÚNoSuchWindowException)ÚAlert)ÚBy)ÚCommand)Ú
WebElementc                   ó¾   — e Zd Zdd„Zedefd„¦   «         Zedefd„¦   «         Zdd„Z	de
eeef         ddfd„Zdd	ee         ddfd
„Zdd„Zdeddfd„Zdeddfd„ZdS )ÚSwitchToÚreturnNc                 óB   — dd l }|                     |¦  «        | _        d S )Nr   )ÚweakrefÚproxyÚ_driver)ÚselfÚdriverr   s      úo/var/www/html/nodeJS/PythonScripts/venv3.11/lib/python3.11/site-packages/selenium/webdriver/remote/switch_to.pyÚ__init__zSwitchTo.__init__   s"   € Øˆˆˆà—}’} VÑ,Ô,ˆŒˆˆó    c                 óV   — | j                              t          j        ¦  «        d         S )zŽReturns the element with focus, or BODY if nothing has focus.

        Example:
            element = driver.switch_to.active_element
        Úvalue)r   Úexecuter
   ÚW3C_GET_ACTIVE_ELEMENT©r   s    r   Úactive_elementzSwitchTo.active_element!   s"   € ð Œ|×#Ò#¥GÔ$BÑCÔCÀGÔLÐLr   c                 ó<   — t          | j        ¦  «        }|j        }|S )zmSwitches focus to an alert on the page.

        Example:
            alert = driver.switch_to.alert
        )r   r   Útext)r   ÚalertÚ_s      r   r    zSwitchTo.alert*   s   € õ �d”lÑ#Ô#ˆØŒJˆØˆr   c                 óT   — | j                              t          j        ddi¦  «         dS )zlSwitch focus to the default frame.

        Example:
            driver.switch_to.default_content()
        ÚidN)r   r   r
   ÚSWITCH_TO_FRAMEr   s    r   Údefault_contentzSwitchTo.default_content5   s)   € ð 	Œ×Ò�WÔ4°t¸T°lÑCÔCÐCÐCÐCr   Úframe_referencec                 ó~  — t          |t          ¦  «        r€	 | j                             t          j        |¦  «        }nY# t          $ rL 	 | j                             t          j        |¦  «        }n"# t          $ r}t          |¦  «        |‚d}~ww xY wY nw xY w| j         	                    t          j        d|i¦  «         dS )aÔ  Switches focus to the specified frame, by index, name, or
        webelement.

        Args:
            frame_reference: The name of the window to switch to, an integer representing the index,
                or a webelement that is an (i)frame to switch to.

        Example:
                driver.switch_to.frame("frame_name")
                driver.switch_to.frame(1)
                driver.switch_to.frame(driver.find_elements(By.TAG_NAME, "iframe")[0])
        Nr#   )Ú
isinstanceÚstrr   Úfind_elementr	   ÚIDr   ÚNAMEr   r   r
   r$   )r   r&   Úexcs      r   ÚframezSwitchTo.frame=   sÚ   € õ �o¥sÑ+Ô+ð 	IðIØ"&¤,×";Ò";½B¼EÀ?Ñ"SÔ"S��øÝ)ð Ið Ið IðIØ&*¤l×&?Ò&?ÅÄÈÑ&YÔ&Y�O�OøÝ-ð Ið Ið IÝ.¨Ñ?Ô?ÀSÐHøøøøðIøøøð $�OðIøøøð 	Œ×Ò�WÔ4°t¸_Ð6MÑNÔNÐNÐNÐNs3   —%= ½
BÁ%A.Á-BÁ.
BÁ8BÂBÂBÂBÚ	type_hintc                 ó–   — | j                              t          j        d|i¦  «        d         }|                      |d         ¦  «         dS )zöSwitches to a new top-level browsing context.

        The type hint can be one of "tab" or "window". If not specified the
        browser will automatically select it.

        Example:
                driver.switch_to.new_window("tab")
        Útyper   ÚhandleN)r   r   r
   Ú
NEW_WINDOWÚ_w3c_window)r   r/   r   s      r   Ú
new_windowzSwitchTo.new_windowU   sF   € ð ”×$Ò$¥WÔ%7¸&À)Ð9LÑMÔMÈgÔVˆØ×Ò˜˜xœÑ)Ô)Ð)Ð)Ð)r   c                 óN   — | j                              t          j        ¦  «         dS )zÑSwitches focus to the parent context. If the current context is the
        top level browsing context, the context remains unchanged.

        Example:
                driver.switch_to.parent_frame()
        N)r   r   r
   ÚSWITCH_TO_PARENT_FRAMEr   s    r   Úparent_framezSwitchTo.parent_framea   s#   € ð 	Œ×Ò�WÔ;Ñ<Ô<Ð<Ð<Ð<r   Úwindow_namec                 ó0   — |                       |¦  «         dS )zÌSwitches focus to the specified window.

        Args:
            window_name: The name or window handle of the window to switch to.

        Example:
            driver.switch_to.window("main")
        N)r4   )r   r9   s     r   ÚwindowzSwitchTo.windowj   s   € ð 	×Ò˜Ñ%Ô%Ð%Ð%Ð%r   c                 óö   ‡ — ˆ fd„}	  ||¦  «         d S # t           $ rY ‰ j        j        }‰ j        j        }|D ]1} ||¦  «         ‰ j                             d¦  «        }||k    r Y d S Œ2 ||¦  «         ‚ w xY w)Nc                 óV   •— ‰j                              t          j        d| i¦  «         d S )Nr2   )r   r   r
   ÚSWITCH_TO_WINDOW)Úhr   s    €r   Úsend_handlez)SwitchTo._w3c_window.<locals>.send_handlev   s(   ø€ ØŒL× Ò ¥Ô!9¸HÀa¸=ÑIÔIÐIÐIÐIr   zreturn window.name)r   r   Úcurrent_window_handleÚwindow_handlesÚexecute_script)r   r9   r@   Úoriginal_handleÚhandlesr2   Úcurrent_names   `      r   r4   zSwitchTo._w3c_windowu   sÌ   ø€ ð	Jð 	Jð 	Jð 	Jð 	Jð	àˆK˜Ñ$Ô$Ð$Ð$Ð$øÝ$ð 
	ð 
	ð 
	à"œlÔ@ˆOØ”lÔ1ˆGØ!ð ð �Ø�˜FÑ#Ô#Ð#Ø#œ|×:Ò:Ð;OÑPÔP�Ø ,Ò.Ð.Ø�F�F�Fð /àˆK˜Ñ(Ô(Ð(Øð
	øøøs   ˆ •AA8Á*A8)r   N)N)Ú__name__Ú
__module__Ú__qualname__r   Úpropertyr   r   r   r    r%   r   r)   Úintr.   r   r5   r8   r;   r4   © r   r   r   r      sJ  € € € € € ð-ð -ð -ð -ð
 ðM 
ð Mð Mð Mñ „XðMð ð�uð ð ð ñ „XððDð Dð Dð DðO U¨3°°ZÐ+?Ô%@ð OÀTð Oð Oð Oð Oð0
*ð 
* H¨S¤Mð 
*¸Tð 
*ð 
*ð 
*ð 
*ð=ð =ð =ð =ð	& #ð 	&¨$ð 	&ð 	&ð 	&ð 	&ð sð ¨tð ð ð ð ð ð r   r   N)Útypingr   r   Úselenium.common.exceptionsr   r   r   Úselenium.webdriver.common.alertr   Úselenium.webdriver.common.byr	   Ú!selenium.webdriver.remote.commandr
   Ú$selenium.webdriver.remote.webelementr   r   rL   r   r   ú<module>rS      sÁ   ðð$ #Ð "Ð "Ð "Ð "Ð "Ð "Ð "à jÐ jÐ jÐ jÐ jÐ jÐ jÐ jÐ jÐ jØ 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø +Ð +Ð +Ð +Ð +Ð +Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;ðkð kð kð kð kñ kô kð kð kð kr   