o
    $[i                     @   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@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZO d dlPmQZQmRZRmSZS d dlTmUZUmVZVmWZWmXZXmYZY d dlZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z` d dlambZb d dlcmdZd e
rd dlemfZf d dlgmhZh d dlimjZjmkZk d dlZmlZl G dd dZmG dd  d e#ZnG d!d" d"e#ZoG d#d$ d$e#Zpd%eeGeHf d&eeq fd'd(Zrd)eqd&eqfd*d+Zsd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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 )LocatorHandlerrN   locator.handlerNtimesreturnc                 C   s   || _ || _|| _d S N)rQ   _handlerrS   )selfrQ   rR   rS    rX   V/var/www/html/flask_server/venv/lib/python3.10/site-packages/playwright/_impl/_page.py__init__s   s   
zLocatorHandler.__init__c                 C   s.   t t| jj}|dkr|  S | | jS )Nr   )leninspect	signaturerV   
parametersrQ   )rW   	arg_countrX   rX   rY   __call__z   s   zLocatorHandler.__call__)
__name__
__module____qualname____annotations__r   r   r   intrZ   r`   rX   rX   rX   rY   rP   n   s   
 "


rP   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eddPdQZed/efdRdSZ d/e!d  fdTdUZ"ed/efdVdWZ#ddXedYe$d/e!e fdZd[Z%ed/e&e fd\d]Z'd^e(d/d0fd_d`Z)d^e(d/d0fdadbZ*	0ddcedde+d/e!e, fdedfZ-dced/e&e, fdgdhZ.	0	0	0ddced^e(die/dj dde+d/e!e, f
dkdlZ0	0ddcedde+d^e(d/e+fdmdnZ1	0ddcedde+d^e(d/e+fdodpZ2	0ddcedde+d^e(d/e+fdqdrZ3	0ddcedde+d^e(d/e+fdsdtZ4	0ddcedde+d^e(d/e+fdudvZ5	0ddcedde+d^e(d/e+fdwdxZ6	0	0	0ddced,edyed^e(dde+d/d0fdzd{Z7dd|ed}e8d/efd~dZ9	0dd|ed}e8d/e:fddZ;	0	0ddced|ed}e8dde+d/ef
ddZ<	0ddced|ed}e8d/efddZ=	0	0	0	0ddYede>ee?f ded,ed/e,f
ddZ@	0ddYede>ee?f ded/e,fddZAdXedeBd/d0fddZC	0ddXedeBde+d/d0fddZDdeeef d/d0fddZEed/efddZFd/efddZG	0	0dded^e(deHd/d0fddZI	0	0	0ddYed^e(deHded/e!eJ f
ddZK	0	0dd^e(deHd/e!eJ fddZL	0	0ddie/d d^e(d/d0fddZM	0	0ddYe$deHd^e(d/d0fddZN	0ddedeBd^e(d/efddZO	0	0dd^e(deHd/e!eJ fddZP	0	0dd^e(deHd/e!eJ fddZQdddZR	0	0	0	0dde/d deSdeTdeUd/d0f
ddZVdeWd/d0fddZXed/e!eW fddZYdddZZ	0ddede>ee?f d/d0fddZ[	0ddYe$de\de]d/d0fddńZ^	0ddYe$de!e\ d/d0fddǄZ_	0dde&e` de&e` de/d d/d0fdd̈́ZadYe$debd/d0fddτZcdddфZd	0dde/d d/d0fddӄZe	0	0	0	0	0dde>e?ef dYe>efe ef degde+de/d dehd/d0fddۄZiddd݄Zjddd߄Zk	0	0	0	0	0	0	0	0	0	0	0	0	0dd^e(d,e/d de>ee?f de]de+de+delde/d de/d de/d demd deded/enfddZod/efddZpdde+ded/d0fddZqd/e+fddZr	0	0	0	0	0	0	0	0	0	0ddcedemes detde(deude]d^e(de+de+d e+dde+d/d0fddZv	0	0	0	0	0	0	0	0	0ddcedemes detde(deud^e(de+de+dde+d e+d/d0fddZw	0	0	0	0	0	0	0ddcedemes detd^e(de+de+dde+d e+d/d0fddZx	0	0	0	0ddceded^e(de+dde+de+d/d0fdd	Zy	0	0	0	0ddced
e>eefe f de>eefe f ddddd/dfddZz	0dde>eefe f de+d/dfddZ{	0dde>eefe f de+d/dfddZ|	0dde>eefe 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]dXe>eefe f de+de+de+d/dfd d!Zd"e>eefe f d/dfd#d$Z	0dde>eefe f de+d/dfd%d&Z	0dde>eefe f de+d/dfd'd(Zdced/d)fd*d+Z	0ddcedde+d^e(d/d0fd,d-Z	0ddcedde+d^e(d/e!e fd.d/Z	0ddcedde+d^e(d/efd0d1Z	0ddcedde+d^e(d/efd2d3Z	0ddcedXedde+d^e(d/e!e f
d4d5Z	0	0	0	0	0	0	0ddcedemes detd^e(de+de+dde+d e+d/d0fd6d7Z	0	0	0	0	0	0	0dd8ed9ed:etd;etde+de+d^e(dde+d e+d/d0fd<d=Z	0	0	0	0	0	0	0	0ddcede>eeme f d>e>e]eme] f d?e>eeme f d@e>dAemdA f d^e(de+de+dde+d/e&e fdBdCZ	0ddcedde+d^e(d/efdDdEZ	0	0	0ddcedFe>ee?eeme>ee?f  eme f d^e(dde+de+d/d0fdGdHZ	0	0	0	0ddcedede(d^e(de+dde+d/d0fdIdJZ	0	0	0	0ddcedKede(d^e(de+dde+d/d0fdLdMZ	0	0	0	0	0	0ddcedetd^e(de+de+dde+d e+d/d0fdNdOZ	0	0	0	0	0	0ddcedetd^e(de+de+dde+d e+d/d0fdPdQZd^e(d/d0fdRdSZ	0	0	0dd|ed}e8d^e(dTe>e(e/dU f d/e:f
dVdWZed/e&d% fdXdYZedd[d\Zdd]d^Z	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0dde(d_e+d`edaedbe+dce+ddedeedfe>ee(f dge>ee(f dhe+diede>ee?f dje+dke+d/enf dldmZd/efdndoZed/e!e fdpdqZd/efdrdsZ	0	0ddedeBd^e(d/efdtduZ	0	0	0ddedeBd^e(dved/ef
dwdxZ	0	0ddeBege+f d^e(d/ee fdydzZ	0	0ddeBege+f d^e(d/ee fd{d|Z	0	0ddeBege+f d^e(d/ee fd}d~Z	0	0	0ddYe$deHd^e(d/eeJ fddZ	0	0ddeBd ge+f d^e(d/ed  fddZ	0dded^e(d/ee fddZ	0	0ddeBdge+f d^e(d/ee fddZ	0dded^e(d/eeJ fddZ	0	0ddeBd#ge+f d^e(d/ed# fddZ	0	0ddeBd%ge+f d^e(d/ed% fddZ	0	0	0	0	0	0ddcede+detd^e(de+de+dde+d e+d/d0fddZ	0	0dddde>eBdgef eBg ef f de+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	pageerrorrC   requestrD   responseRequestFailedrequestfailedRequestFinishedrequestfinishedFrameAttachedframeattachedFrameDetachedframedetachedFrameNavigatedframenavigatedLoadloadPopuppopuprO   	websocketWorkerworkeraccessibilitykeyboardmousetouchscreenparenttypeguidinitializerrT   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 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'j0d)t&j'j1di d S )*NrK   	mainFrameviewportSizeFrf   openerbindingCallc                         t| d S )Nbinding)_on_bindingr   paramsrW   rX   rY   <lambda>       zPage.__init__.<locals>.<lambda>rh   c                          S rU   	_on_close_r   rX   rY   r          rj   c                    r   rU   )	_on_crashr   r   rX   rY   r      r   ro   c                    
     | S rU   )_on_downloadr   r   rX   rY   r         
 fileChooserc                    s$     tjjt t| d | d S )Nelement
isMultiple)emitrf   Eventsr"   r   r   r   rX   rY   r      s    frameAttachedc                    r   Nframe)_on_frame_attachedr   r   r   rX   rY   r      r   frameDetachedc                    r   r   )_on_frame_detachedr   r   r   rX   rY   r      r   locatorHandlerTriggeredc                    s    j  | d S )Nuid)_loopcreate_task_on_locator_handler_triggeredr   r   rX   rY   r      s    routec                        j  t| d S )Nr   )r   r   	_on_router   r   r   rX   rY   r          webSocketRoutec                    r   )Nr   )r   r   _on_web_socket_router   r   r   rX   rY   r      r   videoc                    r   rU   )	_on_videor   r   rX   rY   r      r   	webSocketc                    s     tjjt| d S )Nr   )r   rf   r   rO   r   r   r   rX   rY   r      s    r   c                    r   Nr   )
_on_workerr   r   r   rX   rY   r      r   c                    s    j  s j   S d S rU   )_closed_or_crashed_futuredone
set_result_close_error_with_reasonr   r   rX   rY   r      s
   c                    s    j  s j t S d S rU   )r   r   r   r   r   r   rX   rY   r      s   rl   rn   ru   rv   requestFinishedrequestFailed)2superrZ   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_contextr0   _timeout_settings_videor   _opener_close_reason_close_was_called_har_routers_locator_handlersonasyncioFuturer   rf   r   rg   ri   "_set_event_to_subscription_mappingrk   rm   rC   rD   ry   rw   r"   rW   r   r   r   r   	__class__r   rY   rZ      s   


	









	zPage.__init__c                 C      d| j dS )Nz
<Page url=>urlr   rX   rX   rY   __repr__     zPage.__repr__r   c                 C   s&   | |_ | j| | tjj| d S rU   )r   r   appendr   rf   r   r{   rW   r   rX   rX   rY   r     s   zPage._on_frame_attachedc                 C   s&   | j | d|_| tjj| d S NT)r   remove	_detachedr   rf   r   r}   r   rX   rX   rY   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   rT   c                      s,   z
   I d H  W d S  ty   Y d S w rU   )_update_interception_patternsr   rX   r   rX   rY   ._update_interceptor_patterns_ignore_exceptions-  s   zFPage._on_route.<locals>._update_interceptor_patterns_ignore_exceptionsTrT   N)context_contextr   copyr   matchesru   r   will_expirer   handler[   r   r   _connectionwrap_api_callr   r   )rW   r   route_handlersroute_handlerhandledr   rX   r   rY   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 rU   )r   r   ).0r   r   rX   rY   	<genexpr>>  s    

z,Page._on_web_socket_route.<locals>.<genexpr>)nextr   r   r   r   )rW   r   r   rX   r   rY   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   )rW   r  funcrX   rX   rY   r   J  s   zPage._on_bindingc                 C   s&   | j | | |_| tjj| d S rU   )r   r   r   r   rf   r   r   )rW   r   rX   rX   rY   r   P  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   rf   r   rg   r   rX   rX   rY   r   U  s   zPage._on_closec                 C   s   |  tjj|  d S rU   )r   rf   r   ri   r   rX   rX   rY   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   rf   r   r   )rW   r   r   suggested_filenamer  rX   rX   rY   r   a  s   zPage._on_downloadc                 C   s   t |d }|  | d S )Nr  )r   _force_video_artifact_ready)rW   r   r  rX   rX   rY   r   i  s   zPage._on_videorK   c                 C      | j S rU   )r   r   rX   rX   rY   r   m     zPage.contextc                 C      | j jS rU   )r   clockr   rX   rX   rY   r  q     z
Page.clockc                    s   | j r| j  rd S | j S rU   )r   	is_closedr   rX   rX   rY   r   u  s   zPage.openerc                 C   r  rU   )r   r   rX   rX   rY   
main_framez  r  zPage.main_framer  r   c                 C   sJ   | j D ]}|r|j|kr|  S |r"t| jjd|j|r"|  S qd S NbaseURL)r   r  r:   r   _optionsr   r   )rW   r  r   r   rX   rX   rY   r   ~  s   
z
Page.framec                 C   
   | j  S rU   )r   r   r   rX   rX   rY   frames     
zPage.framestimeoutc                 C   $   | j | | jdt|d d S )N"setDefaultNavigationTimeoutNoReplyr  )r   set_default_navigation_timeoutr   send_no_replydictrW   r  rX   rX   rY   r!    s   
z#Page.set_default_navigation_timeoutc                 C   r  )NsetDefaultTimeoutNoReplyr   )r   set_default_timeoutr   r"  r#  r$  rX   rX   rY   r&    s   zPage.set_default_timeoutselectorstrictc                       | j ||I d H S rU   )r   query_selector)rW   r'  r(  rX   rX   rY   r*    s   zPage.query_selectorc                    s   | j |I d H S rU   )r   query_selector_allrW   r'  rX   rX   rY   r+    s   zPage.query_selector_allstate)attacheddetachedhiddenvisiblec                        | j jdi tt I d H S NrX   )r   wait_for_selectorr7   locals)rW   r'  r  r-  r(  rX   rX   rY   r4       zPage.wait_for_selectorc                    r2  r3  )r   
is_checkedr7   r5  rW   r'  r(  r  rX   rX   rY   r7       zPage.is_checkedc                    r2  r3  )r   is_disabledr7   r5  r8  rX   rX   rY   r:    r9  zPage.is_disabledc                    r2  r3  )r   is_editabler7   r5  r8  rX   rX   rY   r;    r9  zPage.is_editablec                    r2  r3  )r   
is_enabledr7   r5  r8  rX   rX   rY   r<    r9  zPage.is_enabledc                    r2  r3  )r   	is_hiddenr7   r5  r8  rX   rX   rY   r=    r9  zPage.is_hiddenc                    r2  r3  )r   
is_visibler7   r5  r8  rX   rX   rY   r>    r9  zPage.is_visible	eventInitc                    r2  r3  )r   dispatch_eventr7   r5  )rW   r'  r   r?  r  r(  rX   rX   rY   r@    s   zPage.dispatch_event
expressionargc                    r)  rU   )r   evaluaterW   rA  rB  rX   rX   rY   rC    s   zPage.evaluatec                    r)  rU   )r   evaluate_handlerD  rX   rX   rY   rE    s   zPage.evaluate_handlec                    s   | j ||||I d H S rU   )r   eval_on_selector)rW   r'  rA  rB  r(  rX   rX   rY   rF    s   
zPage.eval_on_selectorc                    s   | j |||I d H S rU   )r   eval_on_selector_all)rW   r'  rA  rB  rX   rX   rY   rG    s   zPage.eval_on_selector_allpathcontentc                    r2  r3  )r   add_script_tagr7   r5  )rW   r   rH  rI  r   rX   rX   rY   rJ    r6  zPage.add_script_tagc                    r2  r3  )r   add_style_tagr7   r5  )rW   r   rH  rI  rX   rX   rY   rK    r9  zPage.add_style_tagcallbackc                    s    |  | fddI d H  d S )Nc                    s    | S rU   rX   )sourceargsrL  rX   rY   r     r   z&Page.expose_function.<locals>.<lambda>)expose_binding)rW   r  rL  rX   rO  rY   expose_function  s   zPage.expose_functionr   c                    sf   || j v rtd| d|| jj v rtd| d|| j |< | j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   sendr#  )rW   r  rL  r   rX   rX   rY   rP    s   


zPage.expose_bindingheadersc                    s$   | j dtt|dI d H  d S )NsetExtraHTTPHeaders)rU  )r   rT  r#  rH   )rW   rU  rX   rX   rY   set_extra_http_headers  s   zPage.set_extra_http_headersc                 C   r  rU   )r   r   r   rX   rX   rY   r     r  zPage.urlc                       | j  I d H S rU   )r   rI  r   rX   rX   rY   rI       zPage.contenthtml	waitUntilc                    r2  r3  )r   set_contentr7   r5  )rW   rZ  r  r[  rX   rX   rY   r\       zPage.set_contentrefererc                    r2  r3  )r   gotor7   r5  )rW   r   r  r[  r^  rX   rX   rY   r_     r6  z	Page.gotoc                        t | jdtt I d H S )Nreloadr   r   rT  r7   r5  rW   r  r[  rX   rX   rY   ra  )     zPage.reload)rr   r   networkidlec                    r2  r3  )r   wait_for_load_stater7   r5  )rW   r-  r  rX   rX   rY   rf  2  s   zPage.wait_for_load_statec                    r2  r3  )r   wait_for_urlr7   r5  rW   r   r[  r  rX   rX   rY   rg  9  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 rU   expect_event)rW   ri  rj  r  
event_inforX   rX   rY   wait_for_eventA  s
   (
zPage.wait_for_eventc                    r`  )NgoBackrb  rc  rX   rX   rY   go_backH  rd  zPage.go_backc                    r`  )N	goForwardrb  rc  rX   rX   rY   
go_forwardQ  rd  zPage.go_forwardc                       | j dI d H  d S )N	requestGCr   rT  r   rX   rX   rY   
request_gcZ     zPage.request_gcmedia)nullprintscreencolorSchemereducedMotionforcedColorsc                    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< | jd|I d H  d S )Nrx  ry  zno-overrider|  r}  r~  emulateMedia)r7   r5  r   rT  )rW   rx  r|  r}  r~  r   rX   rX   rY   emulate_media]  s   
zPage.emulate_mediar   c                    s&   || _ | jdtt I d H  d S )NsetViewportSize)r   r   rT  r7   r5  )rW   r   rX   rX   rY   set_viewport_sizeu  s   zPage.set_viewport_sizec                 C   r  rU   )r   r   rX   rX   rY   viewport_sizey  r  zPage.viewport_sizec                    rs  )NbringToFrontru  r   rX   rX   rY   bring_to_front}  rw  zPage.bring_to_frontscriptc                    sN   |rt t|I d H  |}t|tstd| jdt|dI d H  d S )Nz1Either path or script parameter must be specifiedaddInitScript)rM  )	r@   r5   decode
isinstancestrr   r   rT  r#  )rW   r  rH  rX   rX   rY   add_init_script  s   
zPage.add_init_scriptrR   rS   c              	      sB   | j dt| jjd||| jrdnd| |  I d H  d S )Nr   r  TF)r   insertr.   r   r  r   _dispatcher_fiberr   )rW   r   rR   rS   rX   rX   rY   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   rR   r   _unroute_internal)rW   r   rR   removed	remainingr   rX   rX   rY   unroute  s   
zPage.unrouter  r  behavior)r  ignoreErrorswaitc                    sL   || _ |  I d H   d u s dkrd S tjt fdd| I d H  d S )Nr  c                    s
   |   S rU   )stop)r   r  rX   rY   r     r   z(Page._unroute_internal.<locals>.<lambda>)r   r   r   gathermap)rW   r  r  r  rX   r  rY   r    s   
zPage._unroute_internalc                    s4   | j dt| jjd|| |  I d H  d S )Nr   r  )r   r  rG   r   r  r   (_update_web_socket_interception_patterns)rW   r   rR   rX   rX   rY   route_web_socket  s   zPage.route_web_socketc                 C   s   | j D ]}|  qg | _ d S rU   )r   dispose)rW   routerrX   rX   rY   r
    s   


zPage._dispose_har_routersc                    s$   |  | jg |I d H  |   d S rU   )r  r   r
  )rW   r  rX   rX   rY   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)rW   r  r   r  r  r  r  r  rX   rX   rY   route_from_har  s$   	zPage.route_from_harc                    *   t | j}| jdd|iI d H  d S )NsetNetworkInterceptionPatternspatterns)r.   prepare_interception_patternsr   r   rT  rW   r  rX   rX   rY   r     s
   z"Page._update_interception_patternsc                    r  )N setWebSocketInterceptionPatternsr  )rG   r  r   r   rT  r  rX   rX   rY   r    s   z-Page._update_web_socket_interception_patterns)jpegpngqualityomitBackgroundfullPageclip
animations)allowdisabledcaret)hideinitialscale)cssdevicemaskrN   	maskColorstylec                    sz   t t }d|v r|d= d|v rttdd |d |d< | jd|I d H }t|}|r;t| t	||I d H  |S )NrH  r  c                 S   s   | j j| jdS )N)r   r'  )_framer   	_selector)rQ   rX   rX   rY   r     s   z!Page.screenshot.<locals>.<lambda>
screenshot)
r7   r5  listr  r   rT  base64	b64decoder8   r6   )rW   r  r   rH  r  r  r  r  r  r  r  r  r  r  r   encoded_binarydecoded_binaryrX   rX   rY   r    s"   

zPage.screenshotc                    rX  rU   )r   titler   rX   rX   rY   r    rY  z
Page.titlerunBeforeUnloadreasonc              
      s   || _ d| _z| jdtt I d H  | jr#| j I d H  W d S W d S  tyG } zt	|s5|s<|W Y d }~d S W Y d }~d S d }~ww )NTrh   )
r   r   r   rT  r7   r5  r   rh   	Exceptionr    )rW   r  r  erX   rX   rY   rh     s   z
Page.closec                 C   r  rU   )r   r   rX   rX   rY   r  *  s   zPage.is_closed	modifierspositiondelaybutton
clickCountforcenoWaitAftertrialc                    r2  r3  )r   clickr7   r5  )rW   r'  r  r  r  r  r  r  r  r  r  r(  rX   rX   rY   r  -  s   z
Page.clickc                    r2  r3  )r   dblclickr7   r5  )rW   r'  r  r  r  r  r  r  r  r(  r  rX   rX   rY   r  =  s   zPage.dblclickc	           	         r2  r3  )r   tapr7   r5  )	rW   r'  r  r  r  r  r  r(  r  rX   rX   rY   r  L     zPage.tapvaluec                    r2  r3  )r   fillr7   r5  )rW   r'  r  r  r  r(  r  rX   rX   rY   r  Y     	z	Page.fillhasText
hasNotTexthashasNotc                 C   s   | j j|||||dS )N)r  r  r  r  )r   rQ   )rW   r'  r  r  r  r  rX   rX   rY   rQ   d  s   zPage.locatortextexactc                 C      | j j||dS N)r  )r   get_by_alt_textrW   r  r  rX   rX   rY   r  t     zPage.get_by_alt_textc                 C   r  r  )r   get_by_labelr  rX   rX   rY   r  y  r  zPage.get_by_labelc                 C   r  r  )r   get_by_placeholderr  rX   rX   rY   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)rW   r  r  r  r  r  r  r  r  r  r  rX   rX   rY   r    s   zPage.get_by_roletestIdc                 C      | j |S rU   )r   get_by_test_id)rW   r  rX   rX   rY   r       zPage.get_by_test_idc                 C   r  r  )r   get_by_textr  rX   rX   rY   r    r  zPage.get_by_textc                 C   r  r  )r   get_by_titler  rX   rX   rY   r     r  zPage.get_by_titlerM   c                 C   r  rU   )r  frame_locatorr,  rX   rX   rY   r    r  zPage.frame_locatorc                    r2  r3  )r   focusr7   r5  r8  rX   rX   rY   r    r9  z
Page.focusc                    r2  r3  )r   text_contentr7   r5  r8  rX   rX   rY   r    r9  zPage.text_contentc                    r2  r3  )r   
inner_textr7   r5  r8  rX   rX   rY   r    r9  zPage.inner_textc                    r2  r3  )r   
inner_htmlr7   r5  r8  rX   rX   rY   r    r9  zPage.inner_htmlc                    r2  r3  )r   get_attributer7   r5  )rW   r'  r  r(  r  rX   rX   rY   r    r9  zPage.get_attributec	           	         r2  r3  )r   hoverr7   r5  )	rW   r'  r  r  r  r  r  r(  r  rX   rX   rY   r    r  z
Page.hoverrM  targetsourcePositiontargetPositionc
           
         r2  r3  )r   drag_and_dropr7   r5  )
rW   rM  r  r	  r
  r  r  r  r(  r  rX   rX   rY   r    s   zPage.drag_and_dropindexlabelr   r   c
                    s$   t t }
| jjdi |
I d H S r3  )r7   r5  r   select_option)rW   r'  r  r  r  r   r  r  r  r(  r   rX   rX   rY   r    s   
zPage.select_optionc                    s$   t t }| jjdi |I d H S r3  )r7   r5  r   input_value)rW   r'  r(  r  r   rX   rX   rY   r    s   
zPage.input_valuefilesc                    r2  r3  )r   set_input_filesr7   r5  )rW   r'  r  r  r(  r  rX   rX   rY   r       
zPage.set_input_filesc                    r2  r3  )r   r   r7   r5  )rW   r'  r  r  r  r  r(  rX   rX   rY   r     r  z	Page.typekeyc                    r2  r3  )r   pressr7   r5  )rW   r'  r  r  r  r  r(  rX   rX   rY   r    r  z
Page.pressc                    r2  r3  )r   checkr7   r5  rW   r'  r  r  r  r  r(  r  rX   rX   rY   r    r  z
Page.checkc                    r2  r3  )r   uncheckr7   r5  r  rX   rX   rY   r  $  r  zPage.uncheckc                    s   | j |I d H  d S rU   )r   wait_for_timeoutr$  rX   rX   rY   r  0  rw  zPage.wait_for_timeoutpollingrafc                    r2  r3  )r   wait_for_functionr7   r5  )rW   rA  rB  r  r  rX   rX   rY   r  3  r6  zPage.wait_for_functionc                 C   r  rU   )r   r   r   rX   rX   rY   workers<  r  zPage.workersrL   c                 C   r  rU   )r   ru   r   rX   rX   rY   ru   @  r  zPage.requestc              	      s   | j j }| j j }| j d | j d z%tjt| j j	
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   rT  r   FIRST_COMPLETED$_set_default_navigation_timeout_impl_set_default_timeout_impl)rW   r  r   rX   rX   rY   r  D  s*   
z
Page.pausedisplayHeaderFooterheaderTemplatefooterTemplateprintBackground	landscape
pageRangesformatwidthheightpreferCSSPageSizemarginoutlinetaggedc                    sX   t t }d|v r|d= | jd|I d H }t|}|r*t| t||I d H  |S )NrH  pdf)r7   r5  r   rT  r  r  r8   r6   )rW   r  r$  r%  r&  r'  r(  r)  r*  r+  r,  r-  r.  rH  r/  r0  r   r  r  rX   rX   rY   r1  Y  s   

zPage.pdfc                 C   s   | j st| | _ | j S rU   )r   rI   r   rX   rX   rY   r  u  s   
zPage._force_videoc                 C   s   | j jds	d S |  S )NrecordVideo)r   r  r   r  r   rX   rX   rY   r   z  s   z
Page.videoc                 C   s   t | jp| j S rU   )r   r   r   _effective_close_reasonr   rX   rX   rY   r     s   zPage._close_error_with_reasonc                 C   s   |  |||d| dS )Nzwaiting for event "")_expect_event)rW   ri  rj  r  rX   rX   rY   rl    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 "r4  zPage crashedc                      r   rU   )r   rX   r   rX   rY   r     r   z$Page._expect_event.<locals>.<lambda>)r   r  rJ   reject_on_timeoutlogrf   r   ri   reject_on_eventr   rg   rn  r!   result)rW   ri  rj  r  r6  waiterrX   r   rY   r5    s    

zPage._expect_eventc                 C      |  tjj||S rU   )rl  rf   r   rk   rW   rj  r  rX   rX   rY   expect_console_message     zPage.expect_console_messagec                 C   r=  rU   )rl  rf   r   r   r>  rX   rX   rY   expect_download  r@  zPage.expect_downloadc                 C   r=  rU   )rl  rf   r   r"   r>  rX   rX   rY   expect_file_chooser  r@  zPage.expect_file_chooserc                 C   s   | j |||S rU   )r  expect_navigationrh  rX   rX   rY   rC    s   zPage.expect_navigationc                 C   r=  rU   )rl  rf   r   r   r>  rX   rX   rY   expect_popup  r@  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 )Nru   rT   c                    (   t st jjd| jS | S r  callabler:   r   r  r   r   ru   rW   rE  rX   rY   my_predicate     z)Page.expect_request.<locals>.my_predicatezwaiting for request rj  r  r6  )rC   booltrim_urlr5  rf   r   rW   rE  r  rL  trimmed_urlr6  rX   rK  rY   expect_request     	zPage.expect_requestc                 C   s   | j tjj||dS )N)rj  r  )rl  rf   r   ry   r>  rX   rX   rY   expect_request_finished  s   
zPage.expect_request_finishedc                    rF  )Nru   rT   c                    rG  r  rH  rJ  rK  rX   rY   rL    rM  z*Page.expect_response.<locals>.my_predicatezwaiting for response rN  )rD   rO  rP  r5  rf   r   rQ  rX   rK  rY   expect_response  rT  zPage.expect_responsec                 C      |  d||S )Nr   rk  r>  rX   rX   rY   expect_websocket     zPage.expect_websocketc                 C   rW  r   rk  r>  rX   rX   rY   expect_worker  rY  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  )	rW   r'  r  r  r  r  r  r(  r  rX   rX   rY   set_checked  s$   	zPage.set_checkedrQ   c                    sV   |j | jkrtd|dkrd S | jd|j|dI d H }t|||d| j|< d S )Nz2Locator must belong to the main frame of this pager   registerLocatorHandler)r'  r  )rR   rS   rQ   )r  r   r   r   rT  r  rP   r   )rW   rQ   rR   r  rS   r   rX   rX   rY   add_locator_handler3  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      rT   c               
      sH   z    d  W d S  ty# }  z|  W Y d } ~ d S d } ~ ww rU   )r   r  set_exception)r  )rR   handler_finished_futurerX   rY   rV   S  s   z4Page._on_locator_handler_triggered.<locals>._handlerc                      s   j d dS )NresolveLocatorHandlerNoReply)r   r   ru  rX   )r   rW   r   rX   rY   r   g  s    
z4Page._on_locator_handler_triggered.<locals>.<lambda>T)is_internalr   )r   r   rS   r  r   create_futurer$   switchr   r   r   )rW   r   rV   gcoro_or_futurerX   )rR   r`  r   rW   r   rY   r   I  sL   



z"Page._on_locator_handler_triggeredc                    sD   | j   D ]\}}|j|r| j |= | jdd|i qd S )NunregisterLocatorHandlerr   )r   r   itemsrQ   _equalsr   r"  )rW   rQ   r   datarX   rX   rY   remove_locator_handlero  s   zPage.remove_locator_handlerrX   )r  r  rT   N)r   r   rT   Nr   )rT   rK   )NNrU   )NNN)NNNN)NNNNN)NNNNNNNNNNNNN)
NNNNNNNNNN)	NNNNNNNNN)NNNNNNN)NNNNNNNN)NNNNNN)rT   rL   )NNNNNNNNNNNNNNN)rQ   rN   rT   N)ra   rb   rc   r   r   r   rd   r;   r<   r=   r   r  r   rZ   r   r#   r   r   rE   r   rF   r   r   r   r   r   r   r   r   propertyr   r   r  r
   r   r  r1   r   r   r  floatr!  r&  rO  r   r*  r+  r	   r4  r7  r:  r;  r<  r=  r>  r@  r?   rC  r>   rE  rF  rG  r   r   rJ  rK  r   rQ  rP  rW  r   rI  r'   r\  rD   r_  ra  rf  rg  rn  rp  rr  rv  r&   r,   r(   r  r   r  r  r  r  r/   re   r   r  r.   r  r4   r  r
  r  r   r-   r)   r  r   r  r   r   bytesr  r  rh   r  r*   r   r+   r  r  r  r  rQ   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  ru   r  r   r1  rI   r  r   r   r   r!   rl  r5  r   r?  r   rA  r"   rB  rC  rD  r2   rC   rS  rU  r3   rV  rX  rZ  r[  r]  r   rk  __classcell__rX   rX   r   rY   rf      s  
 
	
r!	








	


	














	
	

	







	



	

&	
	
	
	
$	
	
	
					




			

		
"&rf   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   rh   )rg   r   r   r   r   rT   Nc                    s8   t  ||||  jd fdd d  _d  _d S )Nrh   c                    r   rU   r   r   r   rX   rY   r   }  r   z!Worker.__init__.<locals>.<lambda>)r   rZ   r   r   r   r   r   r   r   rY   rZ   y  s   
zWorker.__init__c                 C   r   )Nz<Worker url=r   r   r   rX   rX   rY   r     r   zWorker.__repr__c                 C   s<   | j r
| j j|  | jr| jj|  | tjj|  d S rU   )	r   r   r   r   _service_workersr   r   r   rg   r   rX   rX   rY   r     s
   zWorker._on_closec                 C   s
   | j d S )Nr   )r  r   rX   rX   rY   r     r  z
Worker.urlrA  rB  c                    &   t | jdt|t|dI d H S )NevaluateExpressionrA  rB  )rA   r   rT  r#  rB   rD  rX   rX   rY   rC    s   zWorker.evaluatec                    rq  )NevaluateExpressionHandlers  )r   r   rT  r#  rB   rD  rX   rX   rY   rE    s   zWorker.evaluate_handler   rU   )ra   rb   rc   r   r   r   r  r   rZ   r   r   rl  r   r?   r   rC  r>   rE  ro  rX   rX   r   rY   r   v  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   rT   Nc                    s   t  |||| d S rU   )r   rZ   r   r   rX   rY   rZ     s   zBindingCall.__init__r  c                    s   zPt | 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tt|dI d H  W d S  ty} } z t d }t| jdttt||d	d	 W Y d }~d S d }~ww )
Nr   )r   r  r   r   rN  resolve)r;     reject)error)r   r  r#  r   r   r   r  r  rA   r\   iscoroutiner   rT  rB   r  sysexc_infor   r   r9   )rW   r  r   rM  r;  	func_argsr  tbrX   rX   rY   r    s(   

$zBindingCall.call)
ra   rb   rc   r   r  r   rZ   r   r  ro  rX   rX   r   rY   r    s    r  paramrT   c                 C   s,   t | tjrt| jS t | trt| S d S rU   )r  rer   trim_endpatternr  )r~  rX   rX   rY   rP    s
   

rP  sc                 C   s    t | dkr| d d d S | S )N2   u   …)r[   )r  rX   rX   rY   r    s   r  )tr   r  r\   r  rz  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:   playwright._impl._inputr;   r<   r=   playwright._impl._js_handler>   r?   r@   rA   rB   playwright._impl._networkrC   rD   rE   rF   rG   rH   playwright._impl._videorI   playwright._impl._waiterrJ   !playwright._impl._browser_contextrK   playwright._impl._fetchrL   playwright._impl._locatorrM   rN   rO   rP   rf   r   r  r  rP  r  rX   rX   rX   rY   <module>   s`   4 \          ~2