o
    LDi                     @   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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)m*Z* d dl+m,Z,m-Z-m.Z. d dl/m0Z0 d dl1m2Z2 d dl3m4Z4 d dl5m6Z6 d dl7m8Z8 d dl9m:Z: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eGeHf 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)AriaRoleFilePayload	FloatRect
PdfMarginsPositionViewportSize)Artifact)Clock)ChannelOwnerfrom_channelfrom_nullable_channel)ConsoleMessage)Download)ElementHandledetermine_screenshot_type)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parse_error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 )LocatorHandlerrP   locator.handlerNtimesreturnc                 C   s   || _ || _|| _d S N)rS   _handlerrU   )selfrS   rT   rU    rZ   b/var/www/www-root/data/www/77.83.87.30/venv/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	signaturerX   
parametersrS   )rY   	arg_countrZ   rZ   r[   __call__{   s   zLocatorHandler.__call__)
__name__
__module____qualname____annotations__r   r   r   intr\   rc   rZ   rZ   rZ   r[   rR   o   s   
 "


rR   c                !       sP  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)< d*e	d+e
d,e
d-ed.d/f
 fd0d1Zd.e
fd2d3Zd4ed.d/fd5d6Zd4ed.d/fd7d8Zd9ed.d/fd:d;Zd<ed.d/fd=d>ZddAdBZddCdDZddEdFZddGdHZdIed.d/fdJdKZdIed.d/fdLdMZdIed.d/fdNdOZeddQdRZed.efdSdTZ d.e!d  fdUdVZ"ed.efdWdXZ#ddYe
dZe$d.e!e fd[d\Z%ed.e&e fd]d^Z'd_e(d.d/fd`daZ)d_e(d.d/fdbdcZ*	/ddde
dee+d.e!e, fdfdgZ-dde
d.e&e, fdhdiZ.	/	/	/ddde
d_e(dje/dk dee+d.e!e, f
dldmZ0	/ddde
dee+d_e(d.e+fdndoZ1	/ddde
dee+d_e(d.e+fdpdqZ2	/ddde
dee+d_e(d.e+fdrdsZ3	/ddde
dee+d_e(d.e+fdtduZ4	/ddde
dee+d_e(d.e+fdvdwZ5	/ddde
dee+d_e(d.e+fdxdyZ6	/	/	/ddde
d+e
dzed_e(dee+d.d/fd{d|Z7dd}e
d~e8d.efddZ9	/dd}e
d~e8d.e:fddZ;	/	/ddde
d}e
d~e8dee+d.ef
ddZ<	/ddde
d}e
d~e8d.efddZ=	/	/	/	/ddZe
de>e
e?f de
d+e
d.e,f
ddZ@	/ddZe
de>e
e?f de
d.e,fddZAdYe
deBd.d/fddZC	/ddYe
deBde+d.d/fddZDdee
e
f d.d/fddZEed.e
fddZFd.e
fddZG	/	/dde
d_e(deHd.d/fddZI	/	/	/ddZe
d_e(deHde
d.e!eJ f
ddZK	/	/dd_e(deHd.e!eJ fddZL	/	/ddje/d d_e(d.d/fddZM	/	/ddZe$deHd_e(d.d/fddZN	/dde
deBd_e(d.efddZO	/	/dd_e(deHd.e!eJ fddZP	/	/dd_e(deHd.e!eJ fddZQdddZR	/	/	/	/	/dde/d deSdeTdeUdeVd.d/fddZWdeXd.d/fddZYed.e!eX fddZZdddZ[	/dde
de>e
e?f d.d/fddÄZ\	/ddZe$de]de^d.d/fddǄZ_	/ddZe$de!e] d.d/fddɄZ`	/dde&ea de&ea de/d d.d/fddτZbdZe$decd.d/fddфZddddӄZe	/dde/d d.d/fddՄZf	/	/	/	/	/dde>e?e
f dZe>ege
 e
f dehde+de/d deid.d/fdd݄Zjddd߄ZkdddZl	/	/	/	/	/	/	/	/	/	/	/	/	/dd_e(d+e/d de>e
e?f de^de+de+demde/d de/d de/d dend de
de
d.eofddZpd.e
fddZqdde+de
d.d/fddZrd.e+fddZs	/	/	/	/	/	/	/	/	/	/ddde
denet deude(devde^d_e(d e+de+de+dee+d.d/fddZw	/	/	/	/	/	/	/	/	/ddde
denet deude(devd_e(d e+de+dee+de+d.d/fddZx	/	/	/	/	/	/	/ddde
denet deud_e(d e+de+dee+de+d.d/fddZy	/	/	/	/ddde
d	e
d_e(de+dee+d e+d.d/fd
dZz	/	/	/	/ddde
de>e
ege
 f de>e
ege
 f ddddd.dfddZ{	/dde>e
ege
 f de+d.dfddZ|	/dde>e
ege
 f de+d.dfddZ}	/dde>e
ege
 f de+d.dfddZ~	/	/	/	/	/	/	/	/	/ddede+de+de+de+de^dYe>e
ege
 f d e+d!e+de+d.dfd"d#Zd$e>e
ege
 f d.dfd%d&Z	/dde>e
ege
 f de+d.dfd'd(Z	/dde>e
ege
 f de+d.dfd)d*Zdde
d.d+fd,d-Z	/ddde
dee+d_e(d.d/fd.d/Z	/ddde
dee+d_e(d.e!e
 fd0d1Z	/ddde
dee+d_e(d.e
fd2d3Z	/ddde
dee+d_e(d.e
fd4d5Z	/ddde
dYe
dee+d_e(d.e!e
 f
d6d7Z	/	/	/	/	/	/	/ddde
denet deud_e(de+d e+dee+de+d.d/fd8d9Z	/	/	/	/	/	/	/	/dd:e
d;e
d<eud=eud e+de+d_e(dee+de+d>e^d.d/fd?d@Z	/	/	/	/	/	/	/	/ddde
d	e>e
ene
 f dAe>e^ene^ f dBe>e
ene
 f dCe>dDendD f d_e(de+d e+dee+d.e&e
 fdEdFZ	/ddde
dee+d_e(d.e
fdGdHZ	/	/	/ddde
dIe>e
e?eene>e
e?f  ene f d_e(dee+de+d.d/fdJdKZ	/	/	/	/ddde
de
de(d_e(de+dee+d.d/fdLdMZ	/	/	/	/ddde
dNe
de(d_e(de+dee+d.d/fdOdPZ	/	/	/	/	/	/ddde
deud_e(d e+de+dee+de+d.d/fdQdRZ	/	/	/	/	/	/ddde
deud_e(d e+de+dee+de+d.d/fdSdTZd_e(d.d/fdUdVZ	/	/	/dd}e
d~e8d_e(dWe>e(e/dX f d.e:f
dYdZZed.e&d% fd[d\Zedd^d_Zdd`daZ	/	/	/	/	/	/	/	/	/	/	/	/	/	/	/dde(dbe+dce
dde
dee+dfe+dge
dhe
die>e
e(f dje>e
e(f dke+dlede>e
e?f dme+dne+d.eof dodpZd.efdqdrZed.e!e fdsdtZd.efdudvZ	/	/dde
deBd_e(d.efdwdxZ	/	/	/dde
deBd_e(dye
d.ef
dzd{Z	/	/ddeBege+f d_e(d.ee fd|d}Z	/	/ddeBege+f d_e(d.ee fd~dZ	/	/ddeBege+f d_e(d.ee fddZ	/	/	/ddZe$deHd_e(d.eeJ fddZ	/	/ddeBd ge+f d_e(d.ed  fddZ	/dded_e(d.ee fddZ	/	/ddeBdge+f d_e(d.ee fddZ	/dded_e(d.eeJ fddZ	/	/ddeBd#ge+f d_e(d.ed# fddZ	/	/ddeBd%ge+f d_e(d.ed% fddZ	/	/	/	/	/	/ddde
de+deud_e(d e+de+dee+de+d.d/fddZ	/	/dddde>eBdgef eBg ef f de+de^d.d/f
ddZde
d.d/fddZdddZd.e&e fddZd.e&e fddZd.e&e fddZ  ZS (  PageClosecloseCrashcrashConsoleconsoleDialogdialogr   downloadr"   filechooserDOMContentLoadeddomcontentloaded	PageError	pageerrorrE   requestrF   responseRequestFailedrequestfailedRequestFinishedrequestfinishedFrameAttachedframeattachedFrameDetachedframedetachedFrameNavigatedframenavigatedLoadloadPopuppopuprQ   	websocketWorkerworkerkeyboardmousetouchscreenparenttypeguidinitializerrV   Nc                    s  t  |||| td| _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&j.d)t%j&j/d*t%j&j0di d S )+NrM   	mainFrameviewportSizeFri   openerbindingCallc                         t| d S )Nbinding)_on_bindingr   paramsrY   rZ   r[   <lambda>       zPage.__init__.<locals>.<lambda>rk   c                          S rW   	_on_close_r   rZ   r[   r          rm   c                    r   rW   )	_on_crashr   r   rZ   r[   r      r   rr   c                    
     | S rW   )_on_downloadr   r   rZ   r[   r         
 fileChooserc                    s$     tjjt t| d | d S )Nelement
isMultiple)emitri   Eventsr"   r   r   r   rZ   r[   r      s    frameAttachedc                    r   Nframe)_on_frame_attachedr   r   r   rZ   r[   r      r   frameDetachedc                    r   r   )_on_frame_detachedr   r   r   rZ   r[   r      r   locatorHandlerTriggeredc                    s    j  | d S )Nuid)_loopcreate_task_on_locator_handler_triggeredr   r   rZ   r[   r      s    routec                        j  t| d S )Nr   )r   r   	_on_router   r   r   rZ   r[   r          webSocketRoutec                    r   )Nr   )r   r   _on_web_socket_router   r   r   rZ   r[   r      r   videoc                    r   rW   )	_on_videor   r   rZ   r[   r      r   viewportSizeChanged	webSocketc                    s     tjjt| d S )Nr   )r   ri   r   rQ   r   r   r   rZ   r[   r      s    r   c                    r   Nr   )
_on_workerr   r   r   rZ   r[   r      r   c                    s    j  s j   S d S rW   )_closed_or_crashed_futuredone
set_result_close_error_with_reasonr   r   rZ   r[   r      s
   c                    s    j  s j t S d S rW   )r   r   r   r   r   r   rZ   r[   r      s   ro   rq   rx   ry   requestFinishedrequestFailed)1superr\   r   _browser_contextr=   _channelr   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   ri   r   rj   rl   "_set_event_to_subscription_mappingrn   rp   rE   rF   r|   rz   r"   rY   r   r   r   r   	__class__r   r[   r\      s   


	









	zPage.__init__c                 C      d| j dS )Nz
<Page url=>urlr   rZ   rZ   r[   __repr__     zPage.__repr__r   c                 C   s&   | |_ | j| | tjj| d S rW   )r   r   appendr   ri   r   r~   rY   r   rZ   rZ   r[   r     s   zPage._on_frame_attachedc                 C   s&   | j | d|_| tjj| d S NT)r   remove	_detachedr   ri   r   r   r   rZ   rZ   r[   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   rV   c                      s,   z
   I d H  W d S  ty   Y d S w rW   )_update_interception_patternsr   rZ   r   rZ   r[   ._update_interceptor_patterns_ignore_exceptions-  s   zFPage._on_route.<locals>._update_interceptor_patterns_ignore_exceptionsTrV   N)context_contextr   copyr   _closing_or_closedmatchesrx   r   will_expirer   handler^   r   r   _connectionwrap_api_callr   r   )rY   r   route_handlersroute_handlerhandledr   rZ   r   r[   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 rW   )r   r   ).0r   r  rZ   r[   	<genexpr>>  s    

z,Page._on_web_socket_route.<locals>.<genexpr>)nextr   r   r   r   )rY   r  r   rZ   r  r[   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   )rY   r  funcrZ   rZ   r[   r   J  s   zPage._on_bindingc                 C   s&   | j | | |_| tjj| d S rW   )r   r   r   r   ri   r   r   )rY   r   rZ   rZ   r[   r   P  r   zPage._on_workerc                 C   s<   d| _ | | jjv r| jj|  |   | tjj|  d S r   )	r   r   _pagesr   _dispose_har_routersr   ri   r   rj   r   rZ   rZ   r[   r   U  s
   zPage._on_closec                 C   s   |  tjj|  d S rW   )r   ri   r   rl   r   rZ   rZ   r[   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   ri   r   r   )rY   r   r   suggested_filenamer  rZ   rZ   r[   r   _  s   zPage._on_downloadc                 C   s   t |d }|  | d S )Nr  )r   _force_video_artifact_ready)rY   r   r  rZ   rZ   r[   r   g  s   zPage._on_videoc                 C   s   |d | _ d S )Nr   r   )rY   r   rZ   rZ   r[   r   k  r   zPage._on_viewport_size_changedrM   c                 C      | j S rW   )r   r   rZ   rZ   r[   r   n     zPage.contextc                 C      | j jS rW   )r   clockr   rZ   rZ   r[   r  r     z
Page.clockc                    s   | j r| j  rd S | j S rW   )r   	is_closedr   rZ   rZ   r[   r   v  s   zPage.openerc                 C   r  rW   )r   r   rZ   rZ   r[   
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 rW   )r   r	  r<   r   	_base_urlr   )rY   r	  r   r   rZ   rZ   r[   r     s   
z
Page.framec                 C   
   | j  S rW   )r   r   r   rZ   rZ   r[   frames     
zPage.framestimeoutc                 C      | j | d S rW   )r   set_default_navigation_timeoutrY   r   rZ   rZ   r[   r"       z#Page.set_default_navigation_timeoutc                 C   r!  rW   )r   set_default_timeoutr#  rZ   rZ   r[   r%    r$  zPage.set_default_timeoutselectorstrictc                       | j ||I d H S rW   )r   query_selector)rY   r&  r'  rZ   rZ   r[   r)    s   zPage.query_selectorc                    s   | j |I d H S rW   )r   query_selector_allrY   r&  rZ   rZ   r[   r*    s   zPage.query_selector_allstate)attacheddetachedhiddenvisiblec                        | j jdi tt I d H S NrZ   )r   wait_for_selectorr8   locals)rY   r&  r   r,  r'  rZ   rZ   r[   r3       zPage.wait_for_selectorc                    r1  r2  )r   
is_checkedr8   r4  rY   r&  r'  r   rZ   rZ   r[   r6       zPage.is_checkedc                    r1  r2  )r   is_disabledr8   r4  r7  rZ   rZ   r[   r9    r8  zPage.is_disabledc                    r1  r2  )r   is_editabler8   r4  r7  rZ   rZ   r[   r:    r8  zPage.is_editablec                    r1  r2  )r   
is_enabledr8   r4  r7  rZ   rZ   r[   r;    r8  zPage.is_enabledc                       | j j||dI d H S N)r&  r'  )r   	is_hiddenr7  rZ   rZ   r[   r>       zPage.is_hiddenc                    r<  r=  )r   
is_visibler7  rZ   rZ   r[   r@    r?  zPage.is_visible	eventInitc                    r1  r2  )r   dispatch_eventr8   r4  )rY   r&  r   rA  r   r'  rZ   rZ   r[   rB    s   zPage.dispatch_event
expressionargc                    r(  rW   )r   evaluaterY   rC  rD  rZ   rZ   r[   rE    s   zPage.evaluatec                    r(  rW   )r   evaluate_handlerF  rZ   rZ   r[   rG    s   zPage.evaluate_handlec                    s   | j ||||I d H S rW   )r   eval_on_selector)rY   r&  rC  rD  r'  rZ   rZ   r[   rH    s   
zPage.eval_on_selectorc                    s   | j |||I d H S rW   )r   eval_on_selector_all)rY   r&  rC  rD  rZ   rZ   r[   rI    s   zPage.eval_on_selector_allpathcontentc                    r1  r2  )r   add_script_tagr8   r4  )rY   r   rJ  rK  r   rZ   rZ   r[   rL    r5  zPage.add_script_tagc                    r1  r2  )r   add_style_tagr8   r4  )rY   r   rJ  rK  rZ   rZ   r[   rM    r8  zPage.add_style_tagcallbackc                    s    |  | fddI d H  d S )Nc                    s    | S rW   rZ   )sourceargsrN  rZ   r[   r     r   z&Page.expose_function.<locals>.<lambda>)expose_binding)rY   r	  rN  rZ   rQ  r[   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)rY   r	  rN  r   rZ   rZ   r[   rR    s   


zPage.expose_bindingheadersc                    s&   | j dd tt|dI d H  d S )NsetExtraHTTPHeaders)rX  )r   rV  rW  rJ   )rY   rX  rZ   rZ   r[   set_extra_http_headers  s   zPage.set_extra_http_headersc                 C   r  rW   )r   r   r   rZ   rZ   r[   r     r  zPage.urlc                       | j  I d H S rW   )r   rK  r   rZ   rZ   r[   rK       zPage.contenthtml	waitUntilc                    r1  r2  )r   set_contentr8   r4  )rY   r]  r   r^  rZ   rZ   r[   r_       zPage.set_contentrefererc                    r1  r2  )r   gotor8   r4  )rY   r   r   r^  ra  rZ   rZ   r[   rb  !  r5  z	Page.gotoc                    &   t | jd| jjtt I d H S )Nreloadr   r   rV  r   navigation_timeoutr8   r4  rY   r   r^  rZ   rZ   r[   rd  *     zPage.reload)ru   r   networkidlec                    r1  r2  )r   wait_for_load_stater8   r4  )rY   r,  r   rZ   rZ   r[   rj  7  s   zPage.wait_for_load_statec                    r1  r2  )r   wait_for_urlr8   r4  rY   r   r^  r   rZ   rZ   r[   rk  >  r`  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 rW   expect_event)rY   rm  rn  r   
event_inforZ   rZ   r[   wait_for_eventF  s
   (
zPage.wait_for_eventc                    rc  )NgoBackre  rg  rZ   rZ   r[   go_backM  rh  zPage.go_backc                    rc  )N	goForwardre  rg  rZ   rZ   r[   
go_forwardZ  rh  zPage.go_forwardc                       | j dd I d H  d S )N	requestGCr   rV  r   rZ   rZ   r[   
request_gcg     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   r4  r   rV  )rY   r|  r  r  r  r  r   rZ   rZ   r[   emulate_mediaj  s"   
zPage.emulate_mediar   c                    s(   || _ | jdd tt I d H  d S )NsetViewportSize)r   r   rV  r8   r4  )rY   r   rZ   rZ   r[   set_viewport_size  s   zPage.set_viewport_sizec                 C   r  rW   r  r   rZ   rZ   r[   viewport_size  r  zPage.viewport_sizec                    rw  )NbringToFrontry  r   rZ   rZ   r[   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)rO  )	rB   r6   decode
isinstancestrr   r   rV  rW  )rY   r  rJ  rZ   rZ   r[   add_init_script  s   
 zPage.add_init_scriptrT   rU   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   )rY   r   rT   rU   rZ   rZ   r[   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   rT   r   _unroute_internal)rY   r   rT   removed	remainingr   rZ   rZ   r[   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 rW   )stop)r   r  rZ   r[   r     r   z(Page._unroute_internal.<locals>.<lambda>)r   r   gathermapr   )rY   r  r  r  rZ   r  r[   r    s   

zPage._unroute_internalc                    s.   | j dt| jj|| |  I d H  d S r]   )r   r  rI   r   r  (_update_web_socket_interception_patterns)rY   r   rT   rZ   rZ   r[   route_web_socket  s   zPage.route_web_socketc                 C   s   | j D ]}|  qg | _ d S rW   )r   dispose)rY   routerrZ   rZ   r[   r    s   


zPage._dispose_har_routersc                    s$   |  | jg |I d H  |   d S rW   )r  r   r  )rY   r  rZ   rZ   r[   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)rY   r  r   r  r  r  r  r  rZ   rZ   r[   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   rV  rY   r  rZ   rZ   r[   r     s   z"Page._update_interception_patternsc                    r  )N setWebSocketInterceptionPatternsr  )rI   r  r   r   rV  r  rZ   rZ   r[   r    s   z-Page._update_web_socket_interception_patterns)jpegpngqualityomitBackgroundfullPageclip
animations)allowdisabledcaret)hideinitialscale)cssdevicemaskrP   	maskColorstylec                    s   t t }d|v rd|vrt|d |d< |d= d|v r*ttdd |d |d< | jd| jj|I d H }t	
|}|rJt| t||I d H  |S )NrJ  r   r  c                 S   s   | j j| jdS )N)r   r&  )_framer   	_selector)rS   rZ   rZ   r[   r   %  s   z!Page.screenshot.<locals>.<lambda>
screenshot)r8   r4  r   listr  r   rV  r   r   base64	b64decoder9   r7   )rY   r   r   rJ  r  r  r  r  r  r  r  r  r  r  r   encoded_binarydecoded_binaryrZ   rZ   r[   r    s*   



zPage.screenshotc                    r[  rW   )r   titler   rZ   rZ   r[   r  7  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 )NTrk   )
r   r   r   rV  r8   r4  r   rk   	Exceptionr    )rY   r  r  erZ   rZ   r[   rk   :  s   z
Page.closec                 C   r  rW   )r   r   rZ   rZ   r[   r  E  s   zPage.is_closed	modifierspositiondelaybutton
clickCountforcenoWaitAftertrialc                    r1  r2  )r   _clickr8   r4  )rY   r&  r  r  r  r  r  r   r  r  r  r'  rZ   rZ   r[   clickH  s   z
Page.clickc                    r1  r2  )r   dblclickr8   r4  )rY   r&  r  r  r  r  r   r  r  r'  r  rZ   rZ   r[   r  X     zPage.dblclickc	           	         r1  r2  )r   tapr8   r4  )	rY   r&  r  r  r   r  r  r'  r  rZ   rZ   r[   r  g     zPage.tapvaluec                    r1  r2  )r   fillr8   r4  )rY   r&  r  r   r  r'  r  rZ   rZ   r[   r  t     	z	Page.fillhasText
hasNotTexthashasNotc                 C   s   | j j|||||dS )N)r  r  r  r  )r   rS   )rY   r&  r  r  r  r  rZ   rZ   r[   rS     s   zPage.locatortextexactc                 C      | j j||dS N)r  )r   get_by_alt_textrY   r  r  rZ   rZ   r[   r       zPage.get_by_alt_textc                 C   r  r  )r   get_by_labelr  rZ   rZ   r[   r    r  zPage.get_by_labelc                 C   r  r  )r   get_by_placeholderr  rZ   rZ   r[   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)rY   r  r  r  r  r  r  r	  r  r   r  rZ   rZ   r[   r    s   zPage.get_by_roletestIdc                 C      | j |S rW   )r   get_by_test_id)rY   r  rZ   rZ   r[   r       zPage.get_by_test_idc                 C   r  r  )r   get_by_textr  rZ   rZ   r[   r    r  zPage.get_by_textc                 C   r  r  )r   get_by_titler  rZ   rZ   r[   r    r  zPage.get_by_titlerO   c                 C   r  rW   )r  frame_locatorr+  rZ   rZ   r[   r    r  zPage.frame_locatorc                    r1  r2  )r   focusr8   r4  r7  rZ   rZ   r[   r	    r8  z
Page.focusc                    r1  r2  )r   text_contentr8   r4  r7  rZ   rZ   r[   r
    r8  zPage.text_contentc                    r1  r2  )r   
inner_textr8   r4  r7  rZ   rZ   r[   r    r8  zPage.inner_textc                    r1  r2  )r   
inner_htmlr8   r4  r7  rZ   rZ   r[   r    r8  zPage.inner_htmlc                    r1  r2  )r   get_attributer8   r4  )rY   r&  r	  r'  r   rZ   rZ   r[   r    r8  zPage.get_attributec	           	         r1  r2  )r   hoverr8   r4  )	rY   r&  r  r  r   r  r  r'  r  rZ   rZ   r[   r    r  z
Page.hoverrO  targetsourcePositiontargetPositionstepsc                    r1  r2  )r   drag_and_dropr8   r4  )rY   rO  r  r  r  r  r  r   r'  r  r  rZ   rZ   r[   r    r  zPage.drag_and_dropindexlabelr   r   c
                    s$   t t }
| jjdi |
I d H S r2  )r8   r4  r   select_option)rY   r&  r  r  r  r   r   r  r  r'  r   rZ   rZ   r[   r    s   
zPage.select_optionc                    s$   t t }| jjdi |I d H S r2  )r8   r4  r   input_value)rY   r&  r'  r   r   rZ   rZ   r[   r    s   
zPage.input_valuefilesc                    r1  r2  )r   set_input_filesr8   r4  )rY   r&  r  r   r'  r  rZ   rZ   r[   r       
zPage.set_input_filesc                    r1  r2  )r   r   r8   r4  )rY   r&  r  r  r   r  r'  rZ   rZ   r[   r     r  z	Page.typekeyc                    r1  r2  )r   pressr8   r4  )rY   r&  r  r  r   r  r'  rZ   rZ   r[   r  )  r  z
Page.pressc                    r1  r2  )r   checkr8   r4  rY   r&  r  r   r  r  r'  r  rZ   rZ   r[   r  4  r  z
Page.checkc                    r1  r2  )r   uncheckr8   r4  r  rZ   rZ   r[   r  @  r  zPage.uncheckc                    s   | j |I d H  d S rW   )r   wait_for_timeoutr#  rZ   rZ   r[   r   L  s   zPage.wait_for_timeoutpollingrafc                    r1  r2  )r   wait_for_functionr8   r4  )rY   rC  rD  r   r!  rZ   rZ   r[   r#  O  r5  zPage.wait_for_functionc                 C   r  rW   )r   r   r   rZ   rZ   r[   workersX  r  zPage.workersrN   c                 C   r  rW   )r   rx   r   rZ   rZ   r[   rx   \  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   rV  r   FIRST_COMPLETED$_set_default_navigation_timeout_impl_set_default_timeout_impl)rY   r'  r(  rZ   rZ   r[   r%  `  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 )NrJ  pdf)r8   r4  r   rV  r  r  r9   r7   )rY   r  r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  r6  rJ  r7  r8  r   r  r  rZ   rZ   r[   r9  w  s   

zPage.pdfc                 C   s   | j st| | _ | j S rW   )r   rK   r   rZ   rZ   r[   r    s   
zPage._force_videoc                 C   s   | j jsd S |  S rW   )r   _videos_dirr  r   rZ   rZ   r[   r     s   z
Page.videoc                 C   s   t | jp| j S rW   )r   r   r   _effective_close_reasonr   rZ   rZ   r[   r     s   zPage._close_error_with_reasonc                 C   s   |  |||d| dS )Nzwaiting for event "")_expect_event)rY   rm  rn  r   rZ   rZ   r[   rp    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()Timeout %ms exceeded while waiting for event "r<  zPage crashedc                      r   rW   )r   rZ   r   rZ   r[   r     r   z$Page._expect_event.<locals>.<lambda>)r   r   rL   reject_on_timeoutlogri   r   rl   reject_on_eventr   rj   rr  r!   result)rY   rm  rn  r   r>  waiterrZ   r   r[   r=    s    

zPage._expect_eventc                 C      |  tjj||S rW   )rp  ri   r   rn   rY   rn  r   rZ   rZ   r[   expect_console_message     zPage.expect_console_messagec                 C   rG  rW   )rp  ri   r   r   rH  rZ   rZ   r[   expect_download  rJ  zPage.expect_downloadc                 C   rG  rW   )rp  ri   r   r"   rH  rZ   rZ   r[   expect_file_chooser  rJ  zPage.expect_file_chooserc                 C   s   | j |||S rW   )r  expect_navigationrl  rZ   rZ   r[   rM    s   zPage.expect_navigationc                 C   rG  rW   )rp  ri   r   r   rH  rZ   rZ   r[   expect_popup  rJ  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 )Nrx   rV   c                    "   t st jj| jS | S rW   callabler<   r   r  r   rx   rY   rO  rZ   r[   my_predicate     z)Page.expect_request.<locals>.my_predicatezwaiting for request rn  r   r>  )rE   booltrim_urlr=  ri   r   rY   rO  r   rV  trimmed_urlr>  rZ   rU  r[   expect_request     	zPage.expect_requestc                 C   s   | j tjj||dS )N)rn  r   )rp  ri   r   r|   rH  rZ   rZ   r[   expect_request_finished  s   
zPage.expect_request_finishedc                    rP  )Nrx   rV   c                    rQ  rW   rR  rT  rU  rZ   r[   rV    rW  z*Page.expect_response.<locals>.my_predicatezwaiting for response rX  )rF   rY  rZ  r=  ri   r   r[  rZ   rU  r[   expect_response  r^  zPage.expect_responsec                 C      |  d||S )Nr   ro  rH  rZ   rZ   r[   expect_websocket%     zPage.expect_websocketc                 C   ra  r   ro  rH  rZ   rZ   r[   expect_worker,  rc  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  )	rY   r&  r  r  r   r  r  r'  r  rZ   rZ   r[   set_checked3  s$   	zPage.set_checkedrS   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  )rT   rU   rS   )r  r   r   r   rV  r  rR   r   )rY   rS   rT   r  rU   r   rZ   rZ   r[   add_locator_handlerQ  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      rV   c               
      sH   z    d  W d S  ty# }  z|  W Y d } ~ d S d } ~ ww rW   )r   r  set_exception)r  )rT   handler_finished_futurerZ   r[   rX   r  s   z4Page._on_locator_handler_triggered.<locals>._handlerc                      s   j dd  dS )NresolveLocatorHandlerNoReply)r   r   ry  rZ   )r   rY   r   rZ   r[   r     s
    z4Page._on_locator_handler_triggered.<locals>.<lambda>T)is_internalr   )r   r   rU   r  r   create_futurer$   switchr   r   r   )rY   r   rX   gcoro_or_futurerZ   )rT   rj  r   rY   r   r[   r   h  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   itemsrS   _equalsr   send_no_reply)rY   rS   r   datarZ   rZ   r[   remove_locator_handler  s   zPage.remove_locator_handlerc                    $   | j dd I d H }dd |D S )Nrequestsc                 S   s   g | ]}t |qS rZ   )r   )r  rrZ   rZ   r[   
<listcomp>  s    z!Page.requests.<locals>.<listcomp>ry  )rY   request_objectsrZ   rZ   r[   rx       zPage.requestsc                    s(    j dd I d H } fdd|D S )NconsoleMessagesc                    s*   g | ]}t i |d  ji j jqS )r  )r   r   r   r  )r  rm  r   rZ   r[   rz    s    z)Page.console_messages.<locals>.<listcomp>ry  )rY   message_dictsrZ   r   r[   console_messages  s
   
zPage.console_messagesc                    rw  )N
pageErrorsc                 S   s   g | ]}t |d  qS error)r:   )r  r  rZ   rZ   r[   rz    s    z$Page.page_errors.<locals>.<listcomp>ry  )rY   error_objectsrZ   rZ   r[   page_errors  r|  zPage.page_errorsrZ   )r  r  rV   N)r   r   rV   Nr   )rV   rM   NNrW   )NNN)NNNN)NNNNN)NNNNNNNNNNNNN)
NNNNNNNNNN)	NNNNNNNNN)NNNNNNN)NNNNNNNN)NNNNNN)rV   rN   )NNNNNNNNNNNNNNN)rS   rP   rV   N)rd   re   rf   r   r   r=   rg   r>   r?   r   r  r   r\   r   r#   r   r   rG   r   rH   r   r   r   r   r   r   r   r   r   propertyr   r   r  r
   r   r  r2   r   r   r  floatr"  r%  rY  r   r)  r*  r	   r3  r6  r9  r:  r;  r>  r@  rB  rA   rE  r@   rG  rH  rI  r   r   rL  rM  r   rS  rR  rZ  r   rK  r(   r_  rF   rb  rd  rj  rk  rr  rt  rv  rz  r&   r-   r)   r'   r  r   r  r  r  r  r0   rh   r   r  r/   r  r5   r  r  r  r   r.   r*   r  r   r  r   r   bytesr  r  rk   r  r+   r   r,   r  r  r  r  rS   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$  rx   r%  r   r9  rK   r  r   r   r   r!   rp  r=  r   rI  r   rK  r"   rL  rM  rN  r3   rE   r]  r_  r4   r`  rb  rd  re  rg  r   rv  rx  r  r   r  __classcell__rZ   rZ   r   r[   ri      s
	  
 
	
r!	












	














	
	








	
	


	

*	
	
	
	
$	
	
	
					




			

		
"(
	ri   c                
       s   e Zd Zed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				ddedededefddZ  ZS ) r   rk   ro   )rj   rn   r   r   r   r   rV   Nc                    sJ   t  ||||  tjjdi  jd fdd d  _d  _	d S )Nro   rk   c                    r   rW   r   r   r   rZ   r[   r     r   z!Worker.__init__.<locals>.<lambda>)
r   r\   r   r   r   rn   r   r   r   r   r   r   r   r[   r\     s
   
zWorker.__init__c                 C   r   )Nz<Worker url=r   r   r   rZ   rZ   r[   r     r   zWorker.__repr__c                 C   s<   | j r
| j j|  | jr| jj|  | tjj|  d S rW   )	r   r   r   r   _service_workersr   r   r   rj   r   rZ   rZ   r[   r     s
   zWorker._on_closec                 C   s
   | j d S )Nr   )r
  r   rZ   rZ   r[   r     r  z
Worker.urlrC  rD  c              	      (   t | jdd t|t|dI d H S )NevaluateExpressionrC  rD  )rC   r   rV  rW  rD   rF  rZ   rZ   r[   rE    s   zWorker.evaluatec              	      r  )NevaluateExpressionHandler  )r   r   rV  rW  rD   rF  rZ   rZ   r[   rG    s   zWorker.evaluate_handlerm  rn  r   c                 C   s   |d u r| j r| j j }n| jr| jj }nd}t| d| d}|tt|d| d| d |tj	j
krD|| tj	j
dd  || || t| S )	Ni0u  zworker.expect_event(r?  r@  rA  r<  c                   S   s   t  S rW   )r   rZ   rZ   rZ   r[   r     s    z%Worker.expect_event.<locals>.<lambda>)r   r   r   r   rL   rB  r   r  r   r   rj   rD  rr  r!   rE  )rY   rm  rn  r   rF  rZ   rZ   r[   rp    s"   zWorker.expect_eventr   rW   r  )rd   re   rf   r   r   r   r  r   r\   r   r   r  r   rA   r   rE  r@   rG  r   r  r!   rp  r  rZ   rZ   r   r[   r     sJ    	

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   rV   Nc                    s   t  |||| d S rW   )r   r\   r   r   rZ   r[   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   rP  resolve)rE     rejectr  )r   r
  rW  r   r   r   r  r  rC   r_   iscoroutiner   rV  rD   r  sysexc_infor   r   r;   )rY   r  r   rO  rE  	func_argsr  tbrZ   rZ   r[   r     s,   

zBindingCall.call)
rd   re   rf   r   r  r   r\   r   r  r  rZ   rZ   r   r[   r    s    r  paramrV   c                 C   s,   t | tjrt| jS t | trt| S d S rW   )r  rer   trim_endpatternr  )r  rZ   rZ   r[   rZ    s
   

rZ  sc                 C   s    t | dkr| d d d S | S )N2   u   …)r^   )r  rZ   rZ   r[   r    s   r  )ur   r  r_   r  r  pathlibr   typesr   typingr   r   r   r   r   r	   r
   r   r   r   r    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   r   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;   r<   playwright._impl._inputr=   r>   r?   playwright._impl._js_handler@   rA   rB   rC   rD   playwright._impl._networkrE   rF   rG   rH   rI   rJ   playwright._impl._videorK   playwright._impl._waiterrL   !playwright._impl._browser_contextrM   playwright._impl._fetchrN   playwright._impl._locatorrO   rP   rQ   rR   ri   r   r  r  rZ  r  rZ   rZ   rZ   r[   <module>   s`   4 d           4N