o
    %h+                     @   s  d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dl	m
Z
mZmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZmZmZmZmZmZ d dlmZ d dl 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-m.Z.m/Z/ d dl0m1Z1 d dl2m3Z3 d dl4m5Z5 d dl6m7Z7 d dl8m9Z9 d dl:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZP d dlQmRZRmSZSmTZT d dlUmVZVmWZWmXZXmYZYmZZZ d dl[m\Z\m]Z]m^Z^m_Z_m`Z`maZa d dlbmcZc d dldmeZe e
r!d dlfmgZg d dlhmiZi d dljmkZkmlZl d dl[mmZm G dd dZnG dd  d e#ZoG d!d" d"e#ZpG d#d$ d$e#Zqd%eeHeIf d&eer fd'd(Zsd)erd&erfd*d+ZtdS ),    N)Path)SimpleNamespace)TYPE_CHECKINGAnyCallableDictListLiteralOptionalPatternSequenceUnioncast)Accessibility)AriaRoleFilePayload	FloatRect
PdfMarginsPositionViewportSize)Artifact)Clock)ChannelOwnerfrom_channelfrom_nullable_channel)ConsoleMessage)Download)ElementHandle)ErrorTargetClosedErroris_target_closed_error)EventContextManagerImpl)FileChooser)Frame)LocatorHandlerGreenlet)	HarRouter)ColorSchemeContrastDocumentLoadStateForcedColorsHarModeKeyboardModifierMouseButtonReducedMotionRouteFromHarNotFoundPolicyRouteHandlerRouteHandlerCallbackTimeoutSettingsURLMatchURLMatchRequestURLMatchResponseWebSocketRouteHandlerCallbackasync_readfileasync_writefilelocals_to_paramsmake_dirs_for_fileserialize_errorurl_matches)KeyboardMouseTouchscreen)JSHandleSerializableadd_source_url_to_scriptparse_resultserialize_argument)RequestResponseRouteWebSocketRouteWebSocketRouteHandlerserialize_headers)Video)Waiter)BrowserContext)APIRequestContext)FrameLocatorLocator)	WebSocketc                   @   s   e Zd ZU ded< eedgef edef f ed< eedf ed< dddedef deedf ddfdd	Zdefd
dZ	dS )LocatorHandlerrO   locator.handlerNtimesreturnc                 C   s   || _ || _|| _d S N)rR   _handlerrT   )selfrR   rS   rT    rY   J/var/www/html/myenv/lib/python3.10/site-packages/playwright/_impl/_page.py__init__t   s   
zLocatorHandler.__init__c                 C   s.   t t| jj}|dkr|  S | | jS Nr   )leninspect	signaturerW   
parametersrR   )rX   	arg_countrY   rY   rZ   __call__{   s   zLocatorHandler.__call__)
__name__
__module____qualname____annotations__r   r   r   intr[   rb   rY   rY   rY   rZ   rQ   o   s   
 "


rQ   c                !       s  e Zd ZU edi ddddddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&Zeed'< eed(< eed)< e	ed*< d+e
d,ed-ed.ed/d0f
 fd1d2Zd/efd3d4Zd5ed/d0fd6d7Zd5ed/d0fd8d9Zd:ed/d0fd;d<Zd=ed/d0fd>d?ZddBdCZddDdEZddFdGZddHdIZdJed/d0fdKdLZdJed/d0fdMdNZdJed/d0fdOdPZeddRdSZed/e fdTdUZ!d/e"d  fdVdWZ#ed/efdXdYZ$ddZed[e%d/e"e fd\d]Z&ed/e'e fd^d_Z(d`e)d/d0fdadbZ*d`e)d/d0fdcddZ+	0ddeedfe,d/e"e- fdgdhZ.deed/e'e- fdidjZ/	0	0	0ddeed`e)dke0dl dfe,d/e"e- f
dmdnZ1	0ddeedfe,d`e)d/e,fdodpZ2	0ddeedfe,d`e)d/e,fdqdrZ3	0ddeedfe,d`e)d/e,fdsdtZ4	0ddeedfe,d`e)d/e,fdudvZ5	0ddeedfe,d`e)d/e,fdwdxZ6	0ddeedfe,d`e)d/e,fdydzZ7	0	0	0ddeed,ed{ed`e)dfe,d/d0fd|d}Z8dd~ede9d/efddZ:	0dd~ede9d/e;fddZ<	0	0ddeed~ede9dfe,d/ef
ddZ=	0ddeed~ede9d/efddZ>	0	0	0	0dd[ede?ee@f ded,ed/e-f
ddZA	0dd[ede?ee@f ded/e-fddZBdZedeCd/d0fddZD	0ddZedeCde,d/d0fddZEdeeef d/d0fddZFed/efddZGd/efddZH	0	0dded`e)deId/d0fddZJ	0	0	0dd[ed`e)deIded/e"eK f
ddZL	0	0dd`e)deId/e"eK fddZM	0	0ddke0d d`e)d/d0fddZN	0	0dd[e%deId`e)d/d0fddZO	0ddedeCd`e)d/efddZP	0	0dd`e)deId/e"eK fddZQ	0	0dd`e)deId/e"eK fddZRdddZS	0	0	0	0	0dde0d deTdeUdeVdeWd/d0fddZXdeYd/d0fddZZed/e"eY fddZ[dddZ\	0ddede?ee@f d/d0fddĄZ]	0dd[e%de^de_d/d0fddȄZ`	0dd[e%de"e^ d/d0fddʄZa	0dde'eb de'eb de0d d/d0fddЄZcd[e%dedd/d0fdd҄ZedddԄZf	0dde0d d/d0fddքZg	0	0	0	0	0dde?e@ef d[e?ehe ef deide,de0d dejd/d0fddބZkdddZldddZm	0	0	0	0	0	0	0	0	0	0	0	0	0dd`e)d,e0d de?ee@f de_de,de,dende0d de0d de0d deod deded/epfddZqd/efddZrdde,ded/d0fddZsd/e,fddZt	0	0	0	0	0	0	0	0	0	0ddeedeoeu devde)dewd e_d`e)de,de,de,dfe,d/d0fddZx	0	0	0	0	0	0	0	0	0ddeedeoeu devde)dewd`e)de,de,dfe,de,d/d0fddZy	0	0	0	0	0	0	0ddeedeoeu devd`e)de,de,dfe,de,d/d0fdd	Zz	0	0	0	0ddeed
ed`e)de,dfe,de,d/d0fddZ{	0	0	0	0ddeede?eehe f de?eehe f ddddd/dfddZ|	0dde?eehe f de,d/dfddZ}	0dde?eehe f de,d/dfddZ~	0dde?eehe f de,d/dfddZ	0	0	0	0	0	0	0	0	0ddede,de,de,de,d e_dZe?eehe f d!e,d"e,de,d/dfd#d$Zd%e?eehe f d/dfd&d'Z	0dde?eehe f de,d/dfd(d)Z	0dde?eehe f de,d/dfd*d+Zdeed/d,fd-d.Z	0ddeedfe,d`e)d/d0fd/d0Z	0ddeedfe,d`e)d/e"e fd1d2Z	0ddeedfe,d`e)d/efd3d4Z	0ddeedfe,d`e)d/efd5d6Z	0ddeedZedfe,d`e)d/e"e f
d7d8Z	0	0	0	0	0	0	0ddeedeoeu devd`e)de,de,dfe,de,d/d0fd9d:Z	0	0	0	0	0	0	0dd;ed<ed=evd>evde,de,d`e)dfe,de,d/d0fd?d@Z	0	0	0	0	0	0	0	0ddeed
e?eeoe f dAe?e_eoe_ f dBe?eeoe f dCe?dDeodD f d`e)de,de,dfe,d/e'e fdEdFZ	0ddeedfe,d`e)d/efdGdHZ	0	0	0ddeedIe?ee@eeoe?ee@f  eoe f d`e)dfe,de,d/d0fdJdKZ	0	0	0	0ddeedede)d`e)de,dfe,d/d0fdLdMZ	0	0	0	0ddeedNede)d`e)de,dfe,d/d0fdOdPZ	0	0	0	0	0	0ddeedevd`e)de,de,dfe,de,d/d0fdQdRZ	0	0	0	0	0	0ddeedevd`e)de,de,dfe,de,d/d0fdSdTZd`e)d/d0fdUdVZ	0	0	0dd~ede9d`e)dWe?e)e0dX f d/e;f
dYdZZed/e'd% fd[d\Zedd^d_Zdd`daZ	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0dde)dbe,dceddedee,dfe,dgedhedie?ee)f dje?ee)f dke,dlede?ee@f dme,dne,d/epf dodpZd/efdqdrZed/e"e fdsdtZd/efdudvZ	0	0ddedeCd`e)d/efdwdxZ	0	0	0ddedeCd`e)dyed/ef
dzd{Z	0	0ddeCege,f d`e)d/ee fd|d}Z	0	0ddeCege,f d`e)d/ee fd~dZ	0	0ddeCege,f d`e)d/ee fddZ	0	0	0dd[e%deId`e)d/eeK fddZ	0	0ddeCd ge,f d`e)d/ed  fddZ	0dded`e)d/ee fddZ	0	0ddeCdge,f d`e)d/ee fddZ	0dded`e)d/eeK fddZ	0	0ddeCd#ge,f d`e)d/ed# fddZ	0	0ddeCd%ge,f d`e)d/ed% fddZ	0	0	0	0	0	0ddeede,devd`e)de,de,dfe,de,d/d0fddZ	0	0dddde?eCdgef eCg ef f de,de_d/d0f
ddZded/d0fddZdddZ  ZS (  PageClosecloseCrashcrashConsoleconsoleDialogdialogr   downloadr"   filechooserDOMContentLoadeddomcontentloaded	PageError	pageerrorrD   requestrE   responseRequestFailedrequestfailedRequestFinishedrequestfinishedFrameAttachedframeattachedFrameDetachedframedetachedFrameNavigatedframenavigatedLoadloadPopuppopuprP   	websocketWorkerworkeraccessibilitykeyboardmousetouchscreenparenttypeguidinitializerrU   Nc                    s  t  |||| td| _t j _t j _t	 j _
t j _t|d  _  j_ jg _|d _d _g  _i  _g  _g  _d  _t jj _d  _tdt|d _d  _d _g  _ i  _! j"d fdd	  j"d
 fdd	  j"d fdd	  j"d fdd	  j"d fdd	  j"d fdd	  j"d fdd	  j"d fdd	  j"d fdd	  j"d fdd	  j"d fdd	  j"d j#  j"d fd d	  j"d! fd"d	 t$%  _& "t'j(j) fd#d	  "t'j(j* fd$d	  +t'j(j,d%t'j(j-d&t'j(j.d't'j(j/d(t'j(j0d)t'j(j1d*t'j(j2di d S )+NrL   	mainFrameviewportSizeFrh   openerbindingCallc                         t| d S )Nbinding)_on_bindingr   paramsrX   rY   rZ   <lambda>       zPage.__init__.<locals>.<lambda>rj   c                          S rV   	_on_close_r   rY   rZ   r          rl   c                    r   rV   )	_on_crashr   r   rY   rZ   r      r   rq   c                    
     | S rV   )_on_downloadr   r   rY   rZ   r         
 fileChooserc                    s$     tjjt t| d | d S )Nelement
isMultiple)emitrh   Eventsr"   r   r   r   rY   rZ   r      s    frameAttachedc                    r   Nframe)_on_frame_attachedr   r   r   rY   rZ   r      r   frameDetachedc                    r   r   )_on_frame_detachedr   r   r   rY   rZ   r      r   locatorHandlerTriggeredc                    s    j  | d S )Nuid)_loopcreate_task_on_locator_handler_triggeredr   r   rY   rZ   r      s    routec                        j  t| d S )Nr   )r   r   	_on_router   r   r   rY   rZ   r          webSocketRoutec                    r   )Nr   )r   r   _on_web_socket_router   r   r   rY   rZ   r      r   videoc                    r   rV   )	_on_videor   r   rY   rZ   r      r   viewportSizeChanged	webSocketc                    s     tjjt| d S )Nr   )r   rh   r   rP   r   r   r   rY   rZ   r      s    r   c                    r   Nr   )
_on_workerr   r   r   rY   rZ   r      r   c                    s    j  s j   S d S rV   )_closed_or_crashed_futuredone
set_result_close_error_with_reasonr   r   rY   rZ   r      s
   c                    s    j  s j t S d S rV   )r   r   r   r   r   r   rY   rZ   r      s   rn   rp   rw   rx   requestFinishedrequestFailed)3superr[   r   _browser_contextr   _channelr   r<   r   r=   r   r>   r   r   _main_frame_page_framesget_viewport_size
_is_closed_workers	_bindings_routes_web_socket_routes_owned_contextr1   _timeout_settings_videor   _opener_close_reason_close_was_called_har_routers_locator_handlerson_on_viewport_size_changedasyncioFuturer   rh   r   ri   rk   "_set_event_to_subscription_mappingrm   ro   rD   rE   r{   ry   r"   rX   r   r   r   r   	__class__r   rZ   r[      s   


	









	zPage.__init__c                 C      d| j dS )Nz
<Page url=>urlr   rY   rY   rZ   __repr__     zPage.__repr__r   c                 C   s&   | |_ | j| | tjj| d S rV   )r   r   appendr   rh   r   r}   rX   r   rY   rY   rZ   r     s   zPage._on_frame_attachedc                 C   s&   | j | d|_| tjj| d S NT)r   remove	_detachedr   rh   r   r   r   rY   rY   rZ   r        zPage._on_frame_detachedr   c                    s    j |_ j }|D ]e} js j jr d S ||jjs q| jvr&q|j	r/ j
| z"||I d H }W t jdkrQd fdd}t j|d nt jdkrkd fdd}t j|d w w |rq d S q j|I d H  d S )Nr   rU   c                      s,   z
   I d H  W d S  ty   Y d S w rV   )_update_interception_patternsr   rY   r   rY   rZ   ._update_interceptor_patterns_ignore_exceptions/  s   zFPage._on_route.<locals>._update_interceptor_patterns_ignore_exceptionsTrU   N)context_contextr   copyr   _closing_or_closedmatchesrw   r   will_expirer   handler]   r   r   _connectionwrap_api_callr   r   )rX   r   route_handlersroute_handlerhandledr   rY   r   rZ   r     sD   

zPage._on_routeweb_socket_routec                    sJ   t  fdd| jD d }|r| I d H  d S | j I d H  d S )Nc                 3   s     | ]}|  jr|V  qd S rV   )r   r   ).0r   r  rY   rZ   	<genexpr>@  s    

z,Page._on_web_socket_route.<locals>.<genexpr>)nextr   r   r   r   )rX   r  r   rY   r  rZ   r   >  s   
zPage._on_web_socket_routebinding_callBindingCallc                 C   s6   | j |jd }|rt|| | j| d S )Nname)r   r   _initializerr   r   callr   r   )rX   r  funcrY   rY   rZ   r   L  s   zPage._on_bindingc                 C   s&   | j | | |_| tjj| d S rV   )r   r   r   r   rh   r   r   )rX   r   rY   rY   rZ   r   R  r   zPage._on_workerc                 C   sV   d| _ | | jjv r| jj|  | | jjv r| jj|  |   | tjj	|  d S r   )
r   r   _pagesr   _background_pages_dispose_har_routersr   rh   r   ri   r   rY   rY   rZ   r   W  s   zPage._on_closec                 C   s   |  tjj|  d S rV   )r   rh   r   rk   r   rY   rY   rZ   r   `  s   zPage._on_crashr   c                 C   s@   |d }|d }t tt|d }| tjjt| ||| d S )Nr   suggestedFilenameartifact)r   r   r   r   rh   r   r   )rX   r   r   suggested_filenamer  rY   rY   rZ   r   c  s   zPage._on_downloadc                 C   s   t |d }|  | d S )Nr  )r   _force_video_artifact_ready)rX   r   r  rY   rY   rZ   r   k  s   zPage._on_videoc                 C   s   |d | _ d S )Nr   r   )rX   r   rY   rY   rZ   r   o  r   zPage._on_viewport_size_changedrL   c                 C      | j S rV   )r   r   rY   rY   rZ   r   r     zPage.contextc                 C      | j jS rV   )r   clockr   rY   rY   rZ   r  v     z
Page.clockc                    s   | j r| j  rd S | j S rV   )r   	is_closedr   rY   rY   rZ   r   z  s   zPage.openerc                 C   r  rV   )r   r   rY   rY   rZ   
main_frame  r  zPage.main_framer	  r   c                 C   sD   | j D ]}|r|j|kr|  S |rt| jj|j|r|  S qd S rV   )r   r	  r;   r   	_base_urlr   )rX   r	  r   r   rY   rY   rZ   r     s   
z
Page.framec                 C   
   | j  S rV   )r   r   r   rY   rY   rZ   frames     
zPage.framestimeoutc                 C      | j | d S rV   )r   set_default_navigation_timeoutrX   r!  rY   rY   rZ   r#       z#Page.set_default_navigation_timeoutc                 C   r"  rV   )r   set_default_timeoutr$  rY   rY   rZ   r&    r%  zPage.set_default_timeoutselectorstrictc                       | j ||I d H S rV   )r   query_selector)rX   r'  r(  rY   rY   rZ   r*    s   zPage.query_selectorc                    s   | j |I d H S rV   )r   query_selector_allrX   r'  rY   rY   rZ   r+    s   zPage.query_selector_allstate)attacheddetachedhiddenvisiblec                        | j jdi tt I d H S NrY   )r   wait_for_selectorr8   locals)rX   r'  r!  r-  r(  rY   rY   rZ   r4       zPage.wait_for_selectorc                    r2  r3  )r   
is_checkedr8   r5  rX   r'  r(  r!  rY   rY   rZ   r7       zPage.is_checkedc                    r2  r3  )r   is_disabledr8   r5  r8  rY   rY   rZ   r:    r9  zPage.is_disabledc                    r2  r3  )r   is_editabler8   r5  r8  rY   rY   rZ   r;    r9  zPage.is_editablec                    r2  r3  )r   
is_enabledr8   r5  r8  rY   rY   rZ   r<    r9  zPage.is_enabledc                       | j j||dI d H S N)r'  r(  )r   	is_hiddenr8  rY   rY   rZ   r?       zPage.is_hiddenc                    r=  r>  )r   
is_visibler8  rY   rY   rZ   rA    r@  zPage.is_visible	eventInitc                    r2  r3  )r   dispatch_eventr8   r5  )rX   r'  r   rB  r!  r(  rY   rY   rZ   rC    s   zPage.dispatch_event
expressionargc                    r)  rV   )r   evaluaterX   rD  rE  rY   rY   rZ   rF    s   zPage.evaluatec                    r)  rV   )r   evaluate_handlerG  rY   rY   rZ   rH    s   zPage.evaluate_handlec                    s   | j ||||I d H S rV   )r   eval_on_selector)rX   r'  rD  rE  r(  rY   rY   rZ   rI    s   
zPage.eval_on_selectorc                    s   | j |||I d H S rV   )r   eval_on_selector_all)rX   r'  rD  rE  rY   rY   rZ   rJ    s   zPage.eval_on_selector_allpathcontentc                    r2  r3  )r   add_script_tagr8   r5  )rX   r   rK  rL  r   rY   rY   rZ   rM    r6  zPage.add_script_tagc                    r2  r3  )r   add_style_tagr8   r5  )rX   r   rK  rL  rY   rY   rZ   rN    r9  zPage.add_style_tagcallbackc                    s    |  | fddI d H  d S )Nc                    s    | S rV   rY   )sourceargsrO  rY   rZ   r     r   z&Page.expose_function.<locals>.<lambda>)expose_binding)rX   r	  rO  rY   rR  rZ   expose_function  s   zPage.expose_functionr   c                    sh   || j v rtd| d|| jj v rtd| d|| j |< | jdd t||p+ddI d H  d S )Nz
Function "z" has been already registeredz4" has been already registered in the browser contextexposeBindingF)r	  needsHandle)r   r   r   r   senddict)rX   r	  rO  r   rY   rY   rZ   rS    s   


zPage.expose_bindingheadersc                    s&   | j dd tt|dI d H  d S )NsetExtraHTTPHeaders)rY  )r   rW  rX  rI   )rX   rY  rY   rY   rZ   set_extra_http_headers  s   zPage.set_extra_http_headersc                 C   r  rV   )r   r   r   rY   rY   rZ   r     r  zPage.urlc                       | j  I d H S rV   )r   rL  r   rY   rY   rZ   rL       zPage.contenthtml	waitUntilc                    r2  r3  )r   set_contentr8   r5  )rX   r^  r!  r_  rY   rY   rZ   r`       zPage.set_contentrefererc                    r2  r3  )r   gotor8   r5  )rX   r   r!  r_  rb  rY   rY   rZ   rc  %  r6  z	Page.gotoc                    &   t | jd| jjtt I d H S )Nreloadr   r   rW  r   navigation_timeoutr8   r5  rX   r!  r_  rY   rY   rZ   re  .     zPage.reload)rt   r   networkidlec                    r2  r3  )r   wait_for_load_stater8   r5  )rX   r-  r!  rY   rY   rZ   rk  ;  s   zPage.wait_for_load_statec                    r2  r3  )r   wait_for_urlr8   r5  rX   r   r_  r!  rY   rY   rZ   rl  B  ra  zPage.wait_for_urlevent	predicatec              	      sN   |  |||4 I d H }W d   I d H  n1 I d H sw   Y  |I d H S rV   expect_event)rX   rn  ro  r!  
event_inforY   rY   rZ   wait_for_eventJ  s
   (
zPage.wait_for_eventc                    rd  )NgoBackrf  rh  rY   rY   rZ   go_backQ  ri  zPage.go_backc                    rd  )N	goForwardrf  rh  rY   rY   rZ   
go_forward^  ri  zPage.go_forwardc                       | j dd I d H  d S )N	requestGCr   rW  r   rY   rY   rZ   
request_gck     zPage.request_gcmedia)nullprintscreencolorSchemereducedMotionforcedColorscontrastc                    s   t t }d|v r|d dkrdn||d< d|v r&|d dkr"dn||d< d|v r6|d dkr2dn||d< d|v rF|d dkrBdn||d< d|v rV|d dkrRdn||d< | jdd |I d H  d S )	Nr}  r~  zno-overrider  r  r  r  emulateMedia)r8   r5  r   rW  )rX   r}  r  r  r  r  r   rY   rY   rZ   emulate_median  s"   
zPage.emulate_mediar   c                    s(   || _ | jdd tt I d H  d S )NsetViewportSize)r   r   rW  r8   r5  )rX   r   rY   rY   rZ   set_viewport_size  s   zPage.set_viewport_sizec                 C   r  rV   r  r   rY   rY   rZ   viewport_size  r  zPage.viewport_sizec                    rx  )NbringToFrontrz  r   rY   rY   rZ   bring_to_front  r|  zPage.bring_to_frontscriptc                    sP   |rt t|I d H  |}t|tstd| jdd t|dI d H  d S )Nz1Either path or script parameter must be specifiedaddInitScript)rP  )	rA   r6   decode
isinstancestrr   r   rW  rX  )rX   r  rK  rY   rY   rZ   add_init_script  s   
 zPage.add_init_scriptrS   rT   c              	      s<   | j dt| jj||| jrdnd| |  I d H  d S )Nr   TF)r   insertr/   r   r  _dispatcher_fiberr   )rX   r   rS   rT   rY   rY   rZ   r     s   
z
Page.routec                    s\   g }g }| j D ]}|j|ks|r|j|kr|| q|| q| ||dI d H  d S )Ndefault)r   r   rS   r   _unroute_internal)rX   r   rS   removed	remainingr   rY   rY   rZ   unroute  s   
zPage.unrouter  r  behavior)r  ignoreErrorswaitc                    sH   || _  d ur dkrtjt fdd| I d H  |  I d H  d S )Nr  c                    s
   |   S rV   )stop)r   r  rY   rZ   r     r   z(Page._unroute_internal.<locals>.<lambda>)r   r   gathermapr   )rX   r  r  r  rY   r  rZ   r    s   

zPage._unroute_internalc                    s.   | j dt| jj|| |  I d H  d S r\   )r   r  rH   r   r  (_update_web_socket_interception_patterns)rX   r   rS   rY   rY   rZ   route_web_socket  s   zPage.route_web_socketc                 C   s   | j D ]}|  qg | _ d S rV   )r   dispose)rX   routerrY   rY   rZ   r    s   


zPage._dispose_har_routersc                    s$   |  | jg |I d H  |   d S rV   )r  r   r  )rX   r  rY   rY   rZ   unroute_all  s   zPage.unroute_allharnotFoundupdateupdateContent)attachembed
updateModec                    sj   |r| j j|| |||dI d H  d S tj| jjt||pd|dI d H }| j| |	| I d H  d S )N)r  pager   update_contentupdate_modeabort)local_utilsfilenot_found_actionurl_matcher)
r   _record_into_harr%   creater   r  r  r   r   add_page_route)rX   r  r   r  r  r  r  r  rY   rY   rZ   route_from_har  s$   	zPage.route_from_harc                    ,   t | j}| jdd d|iI d H  d S )NsetNetworkInterceptionPatternspatterns)r/   prepare_interception_patternsr   r   rW  rX   r  rY   rY   rZ   r     s   z"Page._update_interception_patternsc                    r  )N setWebSocketInterceptionPatternsr  )rH   r  r   r   rW  r  rY   rY   rZ   r    s   z-Page._update_web_socket_interception_patterns)jpegpngqualityomitBackgroundfullPageclip
animations)allowdisabledcaret)hideinitialscale)cssdevicemaskrO   	maskColorstylec                    s   t t }d|v r|d= d|v rttdd |d |d< | jd| jj|I d H }t	|}|r>t
| t||I d H  |S )NrK  r  c                 S   s   | j j| jdS )N)r   r'  )_framer   	_selector)rR   rY   rY   rZ   r   '  s   z!Page.screenshot.<locals>.<lambda>
screenshot)r8   r5  listr  r   rW  r   r!  base64	b64decoder9   r7   )rX   r!  r   rK  r  r  r  r  r  r  r  r  r  r  r   encoded_binarydecoded_binaryrY   rY   rZ   r    s&   



zPage.screenshotc                    r\  rV   )r   titler   rY   rY   rZ   r  9  r]  z
Page.titlerunBeforeUnloadreasonc              
      s   || _ d| _z| jdd tt I d H  | jr$| j I d H  W d S W d S  tyH } zt	|s6|s=|W Y d }~d S W Y d }~d S d }~ww )NTrj   )
r   r   r   rW  r8   r5  r   rj   	Exceptionr    )rX   r  r  erY   rY   rZ   rj   <  s   z
Page.closec                 C   r  rV   )r   r   rY   rY   rZ   r  G  s   zPage.is_closed	modifierspositiondelaybutton
clickCountforcenoWaitAftertrialc                    r2  r3  )r   clickr8   r5  )rX   r'  r  r  r  r  r  r!  r  r  r  r(  rY   rY   rZ   r  J  s   z
Page.clickc                    r2  r3  )r   dblclickr8   r5  )rX   r'  r  r  r  r  r!  r  r  r(  r  rY   rY   rZ   r  Z  s   zPage.dblclickc	           	         r2  r3  )r   tapr8   r5  )	rX   r'  r  r  r!  r  r  r(  r  rY   rY   rZ   r  i     zPage.tapvaluec                    r2  r3  )r   fillr8   r5  )rX   r'  r  r!  r  r(  r  rY   rY   rZ   r  v     	z	Page.fillhasText
hasNotTexthashasNotc                 C   s   | j j|||||dS )N)r  r  r  r  )r   rR   )rX   r'  r  r  r  r  rY   rY   rZ   rR     s   zPage.locatortextexactc                 C      | j j||dS N)r  )r   get_by_alt_textrX   r  r  rY   rY   rZ   r       zPage.get_by_alt_textc                 C   r  r  )r   get_by_labelr  rY   rY   rZ   r    r  zPage.get_by_labelc                 C   r  r  )r   get_by_placeholderr  rY   rY   rZ   r    r  zPage.get_by_placeholderrolecheckedr  expandedincludeHiddenlevelpressedselectedc                 C   s    | j j|||||||||	|
d
S )N)	r  r  r  r  r  r	  r  r  r  )r   get_by_role)rX   r  r  r  r  r  r  r	  r  r  r  rY   rY   rZ   r     s   zPage.get_by_roletestIdc                 C      | j |S rV   )r   get_by_test_id)rX   r  rY   rY   rZ   r       zPage.get_by_test_idc                 C   r  r  )r   get_by_textr  rY   rY   rZ   r    r  zPage.get_by_textc                 C   r  r  )r   get_by_titler  rY   rY   rZ   r    r  zPage.get_by_titlerN   c                 C   r  rV   )r  frame_locatorr,  rY   rY   rZ   r    r  zPage.frame_locatorc                    r2  r3  )r   focusr8   r5  r8  rY   rY   rZ   r    r9  z
Page.focusc                    r2  r3  )r   text_contentr8   r5  r8  rY   rY   rZ   r	    r9  zPage.text_contentc                    r2  r3  )r   
inner_textr8   r5  r8  rY   rY   rZ   r
    r9  zPage.inner_textc                    r2  r3  )r   
inner_htmlr8   r5  r8  rY   rY   rZ   r    r9  zPage.inner_htmlc                    r2  r3  )r   get_attributer8   r5  )rX   r'  r	  r(  r!  rY   rY   rZ   r    r9  zPage.get_attributec	           	         r2  r3  )r   hoverr8   r5  )	rX   r'  r  r  r!  r  r  r(  r  rY   rY   rZ   r    r  z
Page.hoverrP  targetsourcePositiontargetPositionc
           
         r2  r3  )r   drag_and_dropr8   r5  )
rX   rP  r  r  r  r  r  r!  r(  r  rY   rY   rZ   r    s   zPage.drag_and_dropindexlabelr   r   c
                    s$   t t }
| jjdi |
I d H S r3  )r8   r5  r   select_option)rX   r'  r  r  r  r   r!  r  r  r(  r   rY   rY   rZ   r    s   
zPage.select_optionc                    s$   t t }| jjdi |I d H S r3  )r8   r5  r   input_value)rX   r'  r(  r!  r   rY   rY   rZ   r    s   
zPage.input_valuefilesc                    r2  r3  )r   set_input_filesr8   r5  )rX   r'  r  r!  r(  r  rY   rY   rZ   r       
zPage.set_input_filesc                    r2  r3  )r   r   r8   r5  )rX   r'  r  r  r!  r  r(  rY   rY   rZ   r     r  z	Page.typekeyc                    r2  r3  )r   pressr8   r5  )rX   r'  r  r  r!  r  r(  rY   rY   rZ   r  *  r  z
Page.pressc                    r2  r3  )r   checkr8   r5  rX   r'  r  r!  r  r  r(  r  rY   rY   rZ   r  5  r  z
Page.checkc                    r2  r3  )r   uncheckr8   r5  r  rY   rY   rZ   r  A  r  zPage.uncheckc                    s   | j |I d H  d S rV   )r   wait_for_timeoutr$  rY   rY   rZ   r  M  s   zPage.wait_for_timeoutpollingrafc                    r2  r3  )r   wait_for_functionr8   r5  )rX   rD  rE  r!  r  rY   rY   rZ   r!  P  r6  zPage.wait_for_functionc                 C   r  rV   )r   r   r   rY   rY   rZ   workersY  r   zPage.workersrM   c                 C   r  rV   )r   rw   r   rY   rY   rZ   rw   ]  r  zPage.requestc              	      s   | j j }| j j }| j d | j d z&tjt| j j	
dd | jgtjdI d H  W | j | | j | d S | j | | j | w )Nr   pause)return_when)r   r   default_navigation_timeoutdefault_timeoutr#  r&  r   r  r   r   rW  r   FIRST_COMPLETED$_set_default_navigation_timeout_impl_set_default_timeout_impl)rX   r%  r&  rY   rY   rZ   r#  a  s.   

z
Page.pausedisplayHeaderFooterheaderTemplatefooterTemplateprintBackground	landscape
pageRangesformatwidthheightpreferCSSPageSizemarginoutlinetaggedc                    sZ   t t }d|v r|d= | jdd |I d H }t|}|r+t| t||I d H  |S )NrK  pdf)r8   r5  r   rW  r  r  r9   r7   )rX   r  r*  r+  r,  r-  r.  r/  r0  r1  r2  r3  r4  rK  r5  r6  r   r  r  rY   rY   rZ   r7  x  s   

zPage.pdfc                 C   s   | j st| | _ | j S rV   )r   rJ   r   rY   rY   rZ   r    s   
zPage._force_videoc                 C   s   | j jsd S |  S rV   )r   _videos_dirr  r   rY   rY   rZ   r     s   z
Page.videoc                 C   s   t | jp| j S rV   )r   r   r   _effective_close_reasonr   rY   rY   rZ   r     s   zPage._close_error_with_reasonc                 C   s   |  |||d| dS )Nzwaiting for event "")_expect_event)rX   rn  ro  r!  rY   rY   rZ   rq    s   zPage.expect_eventlog_linec                    s   |d u r	 j  }t d| d}||d| d| d |r&|| |tjjkr7| tjjt	d |tjj
krJ| tjj
 fdd | || t| S )	Nzpage.expect_event()zTimeout z%ms exceeded while waiting for event "r:  zPage crashedc                      r   rV   )r   rY   r   rY   rZ   r     r   z$Page._expect_event.<locals>.<lambda>)r   r!  rK   reject_on_timeoutlogrh   r   rk   reject_on_eventr   ri   rs  r!   result)rX   rn  ro  r!  r<  waiterrY   r   rZ   r;    s    

zPage._expect_eventc                 C      |  tjj||S rV   )rq  rh   r   rm   rX   ro  r!  rY   rY   rZ   expect_console_message     zPage.expect_console_messagec                 C   rC  rV   )rq  rh   r   r   rD  rY   rY   rZ   expect_download  rF  zPage.expect_downloadc                 C   rC  rV   )rq  rh   r   r"   rD  rY   rY   rZ   expect_file_chooser  rF  zPage.expect_file_chooserc                 C   s   | j |||S rV   )r  expect_navigationrm  rY   rY   rZ   rI    s   zPage.expect_navigationc                 C   rC  rV   )rq  rh   r   r   rD  rY   rY   rZ   expect_popup  rF  zPage.expect_popupurlOrPredicatec                    H   dt dtf fdd}t}|rd| nd } jtjj |||dS )Nrw   rU   c                    "   t st jj| jS | S rV   callabler;   r   r  r   rw   rX   rK  rY   rZ   my_predicate     z)Page.expect_request.<locals>.my_predicatezwaiting for request ro  r!  r<  )rD   booltrim_urlr;  rh   r   rX   rK  r!  rR  trimmed_urlr<  rY   rQ  rZ   expect_request     	zPage.expect_requestc                 C   s   | j tjj||dS )N)ro  r!  )rq  rh   r   r{   rD  rY   rY   rZ   expect_request_finished  s   
zPage.expect_request_finishedc                    rL  )Nrw   rU   c                    rM  rV   rN  rP  rQ  rY   rZ   rR    rS  z*Page.expect_response.<locals>.my_predicatezwaiting for response rT  )rE   rU  rV  r;  rh   r   rW  rY   rQ  rZ   expect_response  rZ  zPage.expect_responsec                 C      |  d||S )Nr   rp  rD  rY   rY   rZ   expect_websocket&     zPage.expect_websocketc                 C   r]  r   rp  rD  rY   rY   rZ   expect_worker-  r_  zPage.expect_workerc	           	         sF   |r| j ||||||dI d H  d S | j||||||dI d H  d S )N)r'  r  r!  r  r(  r  )r  r  )	rX   r'  r  r  r!  r  r  r(  r  rY   rY   rZ   set_checked4  s$   	zPage.set_checkedrR   c                    sX   |j | jkrtd|dkrd S | jdd |j|dI d H }t|||d| j|< d S )Nz2Locator must belong to the main frame of this pager   registerLocatorHandler)r'  r  )rS   rT   rR   )r  r   r   r   rW  r  rQ   r   )rX   rR   rS   r  rT   r   rY   rY   rZ   add_locator_handlerR  s   
zPage.add_locator_handlerr   c                    s&  dzlj   rJ jdkrJ jd ur  jd8  _jr;j d fdd}t|}|  I d H  n
  }|rE|I d H   jdkW rQj = zjj	fddd	d
I d H  W d S  t
yo   Y d S w rvj = zjj	fddd	d
I d H  W w  t
y   Y w w )NFr      rU   c               
      sH   z    d  W d S  ty# }  z|  W Y d } ~ d S d } ~ ww rV   )r   r  set_exception)r  )rS   handler_finished_futurerY   rZ   rW   s  s   z4Page._on_locator_handler_triggered.<locals>._handlerc                      s   j dd  dS )NresolveLocatorHandlerNoReply)r   r   rz  rY   )r   rX   r   rY   rZ   r     s
    z4Page._on_locator_handler_triggered.<locals>.<lambda>T)is_internalr   )r   r   rT   r  r   create_futurer$   switchr   r   r   )rX   r   rW   gcoro_or_futurerY   )rS   rf  r   rX   r   rZ   r   i  sL   



z"Page._on_locator_handler_triggeredc                    sF   | j   D ]\}}|j|r | j |= | jdd d|i qd S )NunregisterLocatorHandlerr   )r   r   itemsrR   _equalsr   send_no_reply)rX   rR   r   datarY   rY   rZ   remove_locator_handler  s   zPage.remove_locator_handlerrY   )r  r  rU   N)r   r   rU   Nr   )rU   rL   )NNrV   )NNN)NNNN)NNNNN)NNNNNNNNNNNNN)
NNNNNNNNNN)	NNNNNNNNN)NNNNNNN)NNNNNNNN)NNNNNN)rU   rM   )NNNNNNNNNNNNNNN)rR   rO   rU   N)rc   rd   re   r   r   r   rf   r<   r=   r>   r   r  r   r[   r   r#   r   r   rF   r   rG   r   r   r   r   r   r   r   r   r   propertyr   r   r  r
   r   r  r2   r   r   r  floatr#  r&  rU  r   r*  r+  r	   r4  r7  r:  r;  r<  r?  rA  rC  r@   rF  r?   rH  rI  rJ  r   r   rM  rN  r   rT  rS  r[  r   rL  r(   r`  rE   rc  re  rk  rl  rs  ru  rw  r{  r&   r-   r)   r'   r  r   r  r  r  r  r0   rg   r   r  r/   r  r5   r  r  r  r   r.   r*   r  r   r  r   r   bytesr  r  rj   r  r+   r   r,   r  r  r  r  rR   r  r  r  r   r   r  r  r  r  r  r	  r
  r  r  r  r  r  r  r   r  r   r  r  r  r  r!  r"  rw   r#  r   r7  rJ   r  r   r   r   r!   rq  r;  r   rE  r   rG  r"   rH  rI  rJ  r3   rD   rY  r[  r4   r\  r^  r`  ra  rc  r   rr  __classcell__rY   rY   r   rZ   rh      s 	  
 
	
s!		












	














	
	








	
	


	

(	
	
	
	
$	
	
	
					




			

		
"(rh   c                
       s   e Zd ZeddZdededededdf
 fd	d
ZdefddZ	dddZ
edefddZddededefddZ	ddededefddZ  ZS )r   rj   )ri   r   r   r   r   rU   Nc                    s8   t  ||||  jd fdd d  _d  _d S )Nrj   c                    r   rV   r   r   r   rY   rZ   r     r   z!Worker.__init__.<locals>.<lambda>)r   r[   r   r   r   r   r   r   r   rZ   r[     s   
zWorker.__init__c                 C   r   )Nz<Worker url=r   r   r   rY   rY   rZ   r     r   zWorker.__repr__c                 C   s<   | j r
| j j|  | jr| jj|  | tjj|  d S rV   )	r   r   r   r   _service_workersr   r   r   ri   r   rY   rY   rZ   r     s
   zWorker._on_closec                 C   s
   | j d S )Nr   )r
  r   rY   rY   rZ   r     r   z
Worker.urlrD  rE  c              	      (   t | jdd t|t|dI d H S )NevaluateExpressionrD  rE  )rB   r   rW  rX  rC   rG  rY   rY   rZ   rF    s   zWorker.evaluatec              	      rx  )NevaluateExpressionHandlerz  )r   r   rW  rX  rC   rG  rY   rY   rZ   rH    s   zWorker.evaluate_handler   rV   )rc   rd   re   r   r   r   r  r   r[   r   r   rs  r   r@   r   rF  r?   rH  rv  rY   rY   r   rZ   r     s4    

r   c                
       sD   e Zd Zdededededdf
 fddZd	eddfd
dZ  Z	S )r  r   r   r   r   rU   Nc                    s   t  |||| d S rV   )r   r[   r   r   rY   rZ   r[     s   zBindingCall.__init__r  c                    s   zQt | jd }t|jj|j|d}| jdr$||t | jd }nttt| jd }||g|R  }t	
|r@|I d H }| jdd tt|dI d H  W d S  ty } z!t d }t| jdd ttt||d	d	 W Y d }~d S d }~ww )
Nr   )r   r  r   r   rQ  resolve)rA     reject)error)r   r
  rX  r   r   r   r  r  rB   r^   iscoroutiner   rW  rC   r  sysexc_infor   r   r:   )rX   r  r   rP  rA  	func_argsr  tbrY   rY   rZ   r    s,   

zBindingCall.call)
rc   rd   re   r   r  r   r[   r   r  rv  rY   rY   r   rZ   r    s    r  paramrU   c                 C   s,   t | tjrt| jS t | trt| S d S rV   )r  rer   trim_endpatternr  )r  rY   rY   rZ   rV    s
   

rV  sc                 C   s    t | dkr| d d d S | S )N2   u   …)r]   )r  rY   rY   rZ   r    s   r  )ur   r  r^   r  r  pathlibr   typesr   typingr   r   r   r   r   r	   r
   r   r   r   r   playwright._impl._accessibilityr    playwright._impl._api_structuresr   r   r   r   r   r   playwright._impl._artifactr   playwright._impl._clockr   playwright._impl._connectionr   r   r   !playwright._impl._console_messager   playwright._impl._downloadr    playwright._impl._element_handler   playwright._impl._errorsr   r   r    'playwright._impl._event_context_managerr!   playwright._impl._file_chooserr"   playwright._impl._framer#   playwright._impl._greenletsr$   playwright._impl._har_routerr%   playwright._impl._helperr&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   playwright._impl._inputr<   r=   r>   playwright._impl._js_handler?   r@   rA   rB   rC   playwright._impl._networkrD   rE   rF   rG   rH   rI   playwright._impl._videorJ   playwright._impl._waiterrK   !playwright._impl._browser_contextrL   playwright._impl._fetchrM   playwright._impl._locatorrN   rO   rP   rQ   rh   r   r  r  rV  r  rY   rY   rY   rZ   <module>   sb   4 `           $4