o
    Qh                     @   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!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l.m/Z/ d dl0m1Z1 d dl2m3Z3 d dl4m5Z5 d dl6m7Z7 d dl8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZL d dlMmNZNmOZOmPZP d dlQmRZRmSZSmTZTmUZUmVZV d dlWmXZXmYZYmZZZm[Z[ d dl\m]Z] d dl^m_Z_ e
rd dl`maZa d dlbmcZc d dldmeZemfZf d dlWmgZg G dd de!ZhG dd de!ZiG d d! d!e!Zjd"eeFeGf d#eek fd$d%Zld&ekd#ekfd'd(ZmdS ))    N)Path)SimpleNamespace)TYPE_CHECKINGAnyCallableDictListLiteralOptionalPatternSequenceUnioncast)Accessibility)AriaRoleFilePayload	FloatRect
PdfMarginsPositionViewportSize)Artifact)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
URLMatcherURLMatchRequestURLMatchResponseasync_readfileasync_writefilelocals_to_paramsmake_dirs_for_fileserialize_error)KeyboardMouseTouchscreen)JSHandleSerializableadd_source_url_to_scriptparse_resultserialize_argument)RequestResponseRouteserialize_headers)Video)Waiter)BrowserContext)APIRequestContext)FrameLocatorLocator)	WebSocketc                !       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dd?d@ZddAdBZddCdDZddEdFZdGed/d0fdHdIZdGed/d0fdJdKZeddMdNZd/ed  fdOdPZed/efdQdRZddSedTe d/ee fdUdVZ!ed/e"e fdWdXZ#dYe$d/d0fdZd[Z%dYe$d/d0fd\d]Z&	0dd^ed_e'd/ee( fd`daZ)d^ed/e"e( fdbdcZ*	0	0	0dd^edYe$dde+de d_e'd/ee( f
dfdgZ,	0dd^ed_e'dYe$d/e'fdhdiZ-	0dd^ed_e'dYe$d/e'fdjdkZ.	0dd^ed_e'dYe$d/e'fdldmZ/	0dd^ed_e'dYe$d/e'fdndoZ0	0dd^ed_e'dYe$d/e'fdpdqZ1	0dd^ed_e'dYe$d/e'fdrdsZ2	0	0	0dd^ed,edtedYe$d_e'd/d0fdudvZ3ddwedxe4d/efdydzZ5	0ddwedxe4d/e6fd{d|Z7	0	0dd^edwedxe4d_e'd/ef
d}d~Z8	0dd^edwedxe4d/efddZ9	0	0	0	0ddTede:ee;f ded,ed/e(f
ddZ<	0ddTede:ee;f ded/e(fddZ=dSede>d/d0fddZ?	0ddSede>de'd/d0fddZ@deeef d/d0fddZAed/efddZBd/efddZC	0	0ddedYe$deDd/d0fddZE	0	0	0ddTedYe$deDded/eeF f
ddZG	0	0ddYe$deDd/eeF fddZH	0	0ddde+d dYe$d/d0fddZI	0	0ddTe deDdYe$d/d0fddZJ	0ddede>dYe$d/efddZK	0	0ddYe$deDd/eeF fddZL	0	0ddYe$deDd/eeF fddZM	0	0	0	0dde+d deNdeOdePd/d0f
ddZQdeRd/d0fddZSed/eeR fddZTdddZU	0ddede:ee;f d/d0fddZV	0ddTe deWdeXd/d0fddZY	0ddTe deeW d/d0fddZZ	0dde"e[ de"e[ de+d d/d0fddƄZ\dddȄZ]	0dde+d d/d0fddʄZ^	0	0	0	0	0dde:e;ef dTe:e_e ef de`de'de+d dead/d0fdd҄ZbdddԄZc	0	0	0	0	0	0	0	0	0	0	0	0	0ddYe$d,e+d de:ee;f deXde'de'dedde+d de+d de+d deed deded/effddZgd/efddZhdde'ded/d0fddZid/e'fddZj	0	0	0	0	0	0	0	0	0	0dd^edeeek delde$demdeXdYe$de'de'de'd_e'd/d0fddZn	0	0	0	0	0	0	0	0	0dd^edeeek delde$demdYe$de'de'd_e'de'd/d0fddZo	0	0	0	0	0	0	0dd^edeeek deldYe$de'de'd_e'de'd/d0fddZp	0	0	0	0dd^ededYe$de'd_e'de'd/d0fddZq	0	0	0	0dd^ede:ee_e f d e:ee_e f ddddd/dfddZr	0dde:ee_e f de'd/dfddZs	0dde:ee_e f de'd/dfd	d
Zt	0dde:ee_e f de'd/dfddZu	0	0	0	0	0	0	0	0	0ddevde'de'de'de'deXdSe:ee_e f de'de'de'd/dfddZwde:ee_e f d/dfddZx	0dde:ee_e f de'd/dfddZy	0dde:ee_e f de'd/dfddZzd^ed/dfdd Z{	0dd^ed_e'dYe$d/d0fd!d"Z|	0dd^ed_e'dYe$d/ee fd#d$Z}	0dd^ed_e'dYe$d/efd%d&Z~	0dd^ed_e'dYe$d/efd'd(Z	0dd^edSed_e'dYe$d/ee f
d)d*Z	0	0	0	0	0	0	0dd^edeeek deldYe$de'de'd_e'de'd/d0fd+d,Z	0	0	0	0	0	0	0dd-ed.ed/eld0elde'de'dYe$d_e'de'd/d0fd1d2Z	0	0	0	0	0	0	0	0dd^ede:eeee f d3e:eXeeeX f d4e:eeee f d5e:d6eed6 f dYe$de'de'd_e'd/e"e fd7d8Z	0dd^ed_e'dYe$d/efd9d:Z	0	0	0dd^ed;e:ee;eeee:ee;f  eee f dYe$d_e'de'd/d0fd<d=Z	0	0	0	0dd^edede$dYe$de'd_e'd/d0fd>d?Z	0	0	0	0dd^ed@ede$dYe$de'd_e'd/d0fdAdBZ	0	0	0	0	0	0dd^edeldYe$de'de'd_e'de'd/d0fdCdDZ	0	0	0	0	0	0dd^edeldYe$de'de'd_e'de'd/d0fdEdFZdYe$d/d0fdGdHZ	0	0	0ddwedxe4dYe$dIe:e$e+dJ f d/e6f
dKdLZed/e"d% fdMdNZeddPdQZddRdSZ	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0dde$dTe'dUedVedWe'dXe'dYedZed[e:ee$f d\e:ee$f d]e'd^ede:ee;f d_e'd`e'd/eff dadbZed/ee fdcddZd/efdedfZ	0	0ddede>dYe$d/efdgdhZ	0	0	0ddede>dYe$died/ef
djdkZ	0	0dde>ege'f dYe$d/ee fdldmZ	0	0dde>ege'f dYe$d/ee fdndoZ	0	0dde>ege'f dYe$d/ee fdpdqZ	0	0	0ddTe deDdYe$d/eeF fdrdsZ	0	0dde>d ge'f dYe$d/ed  fdtduZ	0ddvedYe$d/ee fdwdxZ	0	0dde>dge'f dYe$d/ee fdydzZ	0ddvedYe$d/eeF fd{d|Z	0	0dde>d#ge'f dYe$d/ed# fd}d~Z	0	0dde>d%ge'f dYe$d/ed% fddZ	0	0	0	0	0	0dd^ede'deldYe$de'de'd_e'de'd/d0fddZddde>d/d0fddZded/d0fddZ  ZS (  PageClosecloseCrashcrashConsoleconsoleDialogdialogr   downloadr!   filechooserDOMContentLoadeddomcontentloaded	PageError	pageerrorrA   requestrB   responseRequestFailedrequestfailedRequestFinishedrequestfinishedFrameAttachedframeattachedFrameDetachedframedetachedFrameNavigatedframenavigatedLoadloadPopuppopuprK   	websocketWorkerworkeraccessibilitykeyboardmousetouchscreenparenttypeguidinitializerreturnNc                    sb  t  |||| td| _t j _t j _t	 j _
t j _t|d  _  j_ jg _|d _d _g  _i  _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	 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 )(NrG   	mainFrameviewportSizeFrL   openerbindingCallc                         t| d S )Nbinding)_on_bindingr   paramsself S/home/air/yokohama/back/venv/lib/python3.10/site-packages/playwright/_impl/_page.py<lambda>       zPage.__init__.<locals>.<lambda>rN   c                          S N	_on_close_r   r   r   r          rP   c                    r   r   )	_on_crashr   r   r   r   r      r   rU   c                    
     | S r   )_on_downloadr~   r   r   r   r         
 fileChooserc                    s$     tjjt t| d | d S )Nelement
isMultiple)emitrL   Eventsr!   r   r~   r   r   r   r      s    frameAttachedc                    r{   Nframe)_on_frame_attachedr   r~   r   r   r   r      r   frameDetachedc                    r{   r   )_on_frame_detachedr   r~   r   r   r   r      r   locatorHandlerTriggeredc                    s    j  | d S )Nuid)_loopcreate_task_on_locator_handler_triggeredr~   r   r   r   r      s    routec                    s    j  t| d S )Nr   )r   r   	_on_router   r~   r   r   r   r      s    videoc                    r   r   )	_on_videor~   r   r   r   r      r   	webSocketc                    s     tjjt| d S )Nr   )r   rL   r   rK   r   r~   r   r   r   r      s    rm   c                    r{   Nrm   )
_on_workerr   r~   r   r   r   r      r   c                    s    j  s j   S d S r   )_closed_or_crashed_futuredone
set_result_close_error_with_reasonr   r   r   r   r      s
   c                    s    j  s j t S d S r   )r   r   r   r   r   r   r   r   r      s   rR   rT   r[   r\   requestFinishedrequestFailed)1super__init__r   _browser_contextr   _channelrn   r9   ro   r:   rp   r;   rq   r   _main_frame_page_framesget_viewport_size
_is_closed_workers	_bindings_routes_owned_contextr/   _timeout_settings_videor   _opener_close_reason_close_was_called_har_routers_locator_handlersonasyncioFuturer   rL   r   rM   rO   "_set_event_to_subscription_mappingrQ   rS   rA   rB   r_   r]   r!   r   rr   rs   rt   ru   	__class__r   r   r      s   


	








	zPage.__init__c                 C      d| j dS )Nz
<Page url=>urlr   r   r   r   __repr__      zPage.__repr__r   c                 C   s&   | |_ | j| | tjj| d S r   )r   r   appendr   rL   r   ra   r   r   r   r   r   r      s   zPage._on_frame_attachedc                 C   s&   | j | d|_| tjj| d S NT)r   remove	_detachedr   rL   r   rc   r   r   r   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 r   )_update_interception_patternsr   r   r   r   r   ._update_interceptor_patterns_ignore_exceptions
  s   zFPage._on_route.<locals>._update_interceptor_patterns_ignore_exceptionsTrv   N)context_contextr   copyr   matchesr[   r   will_expirer   handlelenr   r   _connectionwrap_api_callr   r   )r   r   route_handlersroute_handlerhandledr   r   r   r   r      sD   

zPage._on_routebinding_callBindingCallc                 C   s6   | j |jd }|rt|| | j| d S )Nname)r   r   _initializerr   r   callr   r}   )r   r   funcr   r   r   r}     s   zPage._on_bindingc                 C   s&   | j | | |_| tjj| d S r   )r   r   r   r   rL   r   rl   )r   rm   r   r   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   rL   r   rM   r   r   r   r   r   $  s   zPage._on_closec                 C   s   |  tjj|  d S r   )r   rL   r   rO   r   r   r   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   rL   r   r   )r   r   r   suggested_filenamer   r   r   r   r   0  s   zPage._on_downloadc                 C   s"   t |d }tt| j| d S )Nr   )r   r   rE   r   _artifact_ready)r   r   r   r   r   r   r   8  s   zPage._on_videorG   c                 C      | j S r   )r   r   r   r   r   r   <     zPage.contextc                    s   | j r| j  rd S | j S r   )r   	is_closedr   r   r   r   ry   @  s   zPage.openerc                 C   r   r   )r   r   r   r   r   
main_frameE  r   zPage.main_framer   r   c                 C   s^   |rt | jjd|nd }| jD ]}|r|j|kr|  S |r,|r,||jr,|  S qd S )NbaseURL)r1   r   _optionsr   r   r   r   r   )r   r   r   matcherr   r   r   r   r   I  s   
z
Page.framec                 C   
   | j  S r   )r   r   r   r   r   r   framesV     
zPage.framestimeoutc                 C   $   | j | | jdt|d d S )N"setDefaultNavigationTimeoutNoReplyr   )r   set_default_navigation_timeoutr   send_no_replydictr   r   r   r   r   r   Z  s   
z#Page.set_default_navigation_timeoutc                 C   r   )NsetDefaultTimeoutNoReplyr   )r   set_default_timeoutr   r  r  r  r   r   r   r  `  s   zPage.set_default_timeoutselectorstrictc                       | j ||I d H S r   )r   query_selector)r   r  r  r   r   r   r	  d  s   zPage.query_selectorc                    s   | j |I d H S r   )r   query_selector_allr   r  r   r   r   r
  k  s   zPage.query_selector_allstate)attacheddetachedhiddenvisiblec                        | j jdi tt I d H S Nr   )r   wait_for_selectorr6   locals)r   r  r   r  r  r   r   r   r  n     zPage.wait_for_selectorc                    r  r  )r   
is_checkedr6   r  r   r  r  r   r   r   r   r  w     zPage.is_checkedc                    r  r  )r   is_disabledr6   r  r  r   r   r   r  |  r  zPage.is_disabledc                    r  r  )r   is_editabler6   r  r  r   r   r   r    r  zPage.is_editablec                    r  r  )r   
is_enabledr6   r  r  r   r   r   r    r  zPage.is_enabledc                    r  r  )r   	is_hiddenr6   r  r  r   r   r   r    r  zPage.is_hiddenc                    r  r  )r   
is_visibler6   r  r  r   r   r   r    r  zPage.is_visible	eventInitc                    r  r  )r   dispatch_eventr6   r  )r   r  rs   r  r   r  r   r   r   r    s   zPage.dispatch_event
expressionargc                    r  r   )r   evaluater   r   r!  r   r   r   r"    s   zPage.evaluatec                    r  r   )r   evaluate_handler#  r   r   r   r$    s   zPage.evaluate_handlec                    s   | j ||||I d H S r   )r   eval_on_selector)r   r  r   r!  r  r   r   r   r%    s   
zPage.eval_on_selectorc                    s   | j |||I d H S r   )r   eval_on_selector_all)r   r  r   r!  r   r   r   r&    s   zPage.eval_on_selector_allpathcontentc                    r  r  )r   add_script_tagr6   r  )r   r   r'  r(  rs   r   r   r   r)    r  zPage.add_script_tagc                    r  r  )r   add_style_tagr6   r  )r   r   r'  r(  r   r   r   r*    r  zPage.add_style_tagcallbackc                    s    |  | fddI d H  d S )Nc                    s    | S r   r   )sourceargsr+  r   r   r     r   z&Page.expose_function.<locals>.<lambda>)expose_binding)r   r   r+  r   r.  r   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  )r   r   r+  r   r   r   r   r/    s   


zPage.expose_bindingheadersc                    s$   | j dtt|dI d H  d S )NsetExtraHTTPHeaders)r4  )r   r3  r  rD   )r   r4  r   r   r   set_extra_http_headers  s   zPage.set_extra_http_headersc                 C      | j jS r   )r   r   r   r   r   r   r        zPage.urlc                       | j  I d H S r   )r   r(  r   r   r   r   r(       zPage.contenthtml	waitUntilc                    r  r  )r   set_contentr6   r  )r   r;  r   r<  r   r   r   r=       zPage.set_contentrefererc                    r  r  )r   gotor6   r  )r   r   r   r<  r?  r   r   r   r@    r  z	Page.gotoc                        t | jdtt I d H S )Nreloadr   r   r3  r6   r  r   r   r<  r   r   r   rB       zPage.reload)rX   rh   networkidlec                    r  r  )r   wait_for_load_stater6   r  )r   r  r   r   r   r   rG    s   zPage.wait_for_load_statec                    r  r  )r   wait_for_urlr6   r  r   r   r<  r   r   r   r   rH    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 r   expect_event)r   rJ  rK  r   
event_infor   r   r   wait_for_event  s
   (
zPage.wait_for_eventc                    rA  )NgoBackrC  rD  r   r   r   go_back  rE  zPage.go_backc                    rA  )N	goForwardrC  rD  r   r   r   
go_forward  rE  zPage.go_forward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 )NrT  rU  zno-overriderX  rY  rZ  emulateMedia)r6   r  r   r3  )r   rT  rX  rY  rZ  r   r   r   r   emulate_media'  s   
zPage.emulate_mediarx   c                    s&   || _ | jdtt I d H  d S )NsetViewportSize)r   r   r3  r6   r  )r   rx   r   r   r   set_viewport_size?  s   zPage.set_viewport_sizec                 C   r   r   )r   r   r   r   r   viewport_sizeC  r   zPage.viewport_sizec                    s   | j dI d H  d S )NbringToFrontr   r3  r   r   r   r   bring_to_frontG     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)r,  )	r>   r4   decode
isinstancestrr   r   r3  r  )r   rd  r'  r   r   r   add_init_scriptJ  s   
zPage.add_init_scripthandlertimesc                    sF   | j dtt| jjd||| jrdnd| |  I d H  d S )Nr   r   TF)	r   insertr-   r1   r   r   r   _dispatcher_fiberr   )r   r   rj  rk  r   r   r   r   U  s   	z
Page.routec                    s^   g }g }| j D ]}|jj|ks|r|j|kr|| q|| q| ||dI d H  d S )Ndefault)r   r   matchrj  r   _unroute_internal)r   r   rj  removed	remainingr   r   r   r   unroutec  s   
zPage.unrouterq  rr  behavior)rn  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 )Nrn  c                    s
   |   S r   )stop)r   rt  r   r   r   {  r   z(Page._unroute_internal.<locals>.<lambda>)r   r   r   gathermap)r   rq  rr  rt  r   rx  r   rp  o  s   
zPage._unroute_internalc                 C   s   | j D ]}|  qg | _ d S r   )r   dispose)r   routerr   r   r   r     s   


zPage._dispose_har_routersc                    s$   |  | jg |I d H  |   d S r   )rp  r   r   )r   rt  r   r   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  rh  r   r   add_page_route)r   r~  r   r  r  r  r  r|  r   r   r   route_from_har  s$   	zPage.route_from_harc                    s*   t | j}| jdd|iI d H  d S )NsetNetworkInterceptionPatternspatterns)r-   prepare_interception_patternsr   r   r3  )r   r  r   r   r   r     s
   z"Page._update_interception_patterns)jpegpngqualityomitBackgroundfullPageclip
animations)allowdisabledcaret)hideinitialscale)cssdevicemaskrJ   	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 )Nr'  r  c                 S   s   | j j| jdS )N)r   r  )_framer   	_selector)locatorr   r   r   r     s   z!Page.screenshot.<locals>.<lambda>
screenshot)
r6   r  listrz  r   r3  base64	b64decoder7   r5   )r   r   rs   r'  r  r  r  r  r  r  r  r  r  r  r   encoded_binarydecoded_binaryr   r   r   r    s"   

zPage.screenshotc                    r9  r   )r   titler   r   r   r   r    r:  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 )NTrN   )
r   r   r   r3  r6   r  r   rN   	Exceptionr   )r   r  r  er   r   r   rN     s   z
Page.closec                 C   r   r   )r   r   r   r   r   r     s   zPage.is_closed	modifierspositiondelaybutton
clickCountforcenoWaitAftertrialc                    r  r  )r   clickr6   r  )r   r  r  r  r  r  r  r   r  r  r  r  r   r   r   r    s   z
Page.clickc                    r  r  )r   dblclickr6   r  )r   r  r  r  r  r  r   r  r  r  r  r   r   r   r    s   zPage.dblclickc	           	         r  r  )r   tapr6   r  )	r   r  r  r  r   r  r  r  r  r   r   r   r       zPage.tapvaluec                    r  r  )r   fillr6   r  )r   r  r  r   r  r  r  r   r   r   r       	z	Page.fillhasText
hasNotTexthashasNotc                 C   s   | j j|||||dS )N)r  r  r  r  )r   r  )r   r  r  r  r  r  r   r   r   r    s   zPage.locatortextexactc                 C      | j j||dS N)r  )r   get_by_alt_textr   r  r  r   r   r   r  *     zPage.get_by_alt_textc                 C   r  r  )r   get_by_labelr  r   r   r   r  /  r  zPage.get_by_labelc                 C   r  r  )r   get_by_placeholderr  r   r   r   r  4  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)r   r  r  r  r  r  r  r   r  r  r  r   r   r   r  9  s   zPage.get_by_roletestIdc                 C      | j |S r   )r   get_by_test_id)r   r  r   r   r   r  S     zPage.get_by_test_idc                 C   r  r  )r   get_by_textr  r   r   r   r  V  r  zPage.get_by_textc                 C   r  r  )r   get_by_titler  r   r   r   r  [  r  zPage.get_by_titlerI   c                 C   r  r   )r   frame_locatorr  r   r   r   r  `  r  zPage.frame_locatorc                    r  r  )r   focusr6   r  r  r   r   r   r  c  r  z
Page.focusc                    r  r  )r   text_contentr6   r  r  r   r   r   r  h  r  zPage.text_contentc                    r  r  )r   
inner_textr6   r  r  r   r   r   r  m  r  zPage.inner_textc                    r  r  )r   
inner_htmlr6   r  r  r   r   r   r  r  r  zPage.inner_htmlc                    r  r  )r   get_attributer6   r  )r   r  r   r  r   r   r   r   r  w  r  zPage.get_attributec	           	         r  r  )r   hoverr6   r  )	r   r  r  r  r   r  r  r  r  r   r   r   r  |  r  z
Page.hoverr,  targetsourcePositiontargetPositionc
           
         r  r  )r   drag_and_dropr6   r  )
r   r,  r  r  r  r  r  r   r  r  r   r   r   r    s   zPage.drag_and_dropindexlabelr   r   c
                    s$   t t }
| jjdi |
I d H S r  )r6   r  r   select_option)r   r  r  r  r  r   r   r  r  r  r   r   r   r   r    s   
zPage.select_optionc                    s$   t t }| jjdi |I d H S r  )r6   r  r   input_value)r   r  r  r   r   r   r   r   r    s   
zPage.input_valuefilesc                    r  r  )r   set_input_filesr6   r  )r   r  r  r   r  r  r   r   r   r       
zPage.set_input_filesc                    r  r  )r   rs   r6   r  )r   r  r  r  r   r  r  r   r   r   rs     r  z	Page.typekeyc                    r  r  )r   pressr6   r  )r   r  r  r  r   r  r  r   r   r   r    r  z
Page.pressc                    r  r  )r   checkr6   r  r   r  r  r   r  r  r  r  r   r   r   r    r  z
Page.checkc                    r  r  )r   uncheckr6   r  r  r   r   r   r    r  zPage.uncheckc                    s   | j |I d H  d S r   )r   wait_for_timeoutr  r   r   r   r    rc  zPage.wait_for_timeoutpollingrafc                    r  r  )r   wait_for_functionr6   r  )r   r   r!  r   r  r   r   r   r    r  zPage.wait_for_functionc                 C   r   r   )r   r   r   r   r   r   workers  r   zPage.workersrH   c                 C   r7  r   )r   r[   r   r   r   r   r[     r8  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   rv  r   r   r3  r   FIRST_COMPLETED$_set_default_navigation_timeout_impl_set_default_timeout_impl)r   r  r  r   r   r   r    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 )Nr'  pdf)r6   r  r   r3  r  r  r7   r5   )r   r  r  r  r  r  r  r  r  r  r	  r
  r  r'  r  r  r   r  r  r   r   r   r    s   

zPage.pdfc                 C   s   | j st| | _ | j S r   )r   rE   r   r   r   r   r   +  s   
z
Page.videoc                 C   s   t | jp| j S r   )r   r   r   _effective_close_reasonr   r   r   r   r   3  s   zPage._close_error_with_reasonc                 C   s   |  |||d| dS )Nzwaiting for event "")_expect_event)r   rJ  rK  r   r   r   r   rM  8  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   r   )r   r   r   r   r   r   U  r   z$Page._expect_event.<locals>.<lambda>)r   r   rF   reject_on_timeoutlogrL   r   rO   reject_on_eventr   rM   rO  r    result)r   rJ  rK  r   r  waiterr   r   r   r  B  s    

zPage._expect_eventc                 C      |  tjj||S r   )rM  rL   r   rQ   r   rK  r   r   r   r   expect_console_messageZ     zPage.expect_console_messagec                 C   r  r   )rM  rL   r   r   r  r   r   r   expect_downloada  r  zPage.expect_downloadc                 C   r  r   )rM  rL   r   r!   r  r   r   r   expect_file_chooserh  r  zPage.expect_file_chooserc                 C   s   | j |||S r   )r   expect_navigationrI  r   r   r   r  o  s   zPage.expect_navigationc                 C   r  r   )rM  rL   r   ri   r  r   r   r   expect_popupw  r  zPage.expect_popupurlOrPredicatec                    x   t |rd n	t| jjd| t |r|nd dtdtf fdd}t|}|r/d| nd }| jt	j
j|||dS )Nr   r[   rv   c                         r  | jS r| S dS r   r   r   )r[   r   rK  r   r   my_predicate  
   z)Page.expect_request.<locals>.my_predicatezwaiting for request rK  r   r  )callabler1   r   r   r   rA   booltrim_urlr  rL   r   r   r!  r   r&  trimmed_urlr  r   r%  r   expect_request~      zPage.expect_requestc                 C   s   | j tjj||dS )N)rK  r   )rM  rL   r   r_   r  r   r   r   expect_request_finished  s   
zPage.expect_request_finishedc                    r"  )Nr   r\   rv   c                    r#  r   r$  )r\   r%  r   r   r&    r'  z*Page.expect_response.<locals>.my_predicatezwaiting for response r(  )r)  r1   r   r   r   rB   r*  r+  r  rL   r   r,  r   r%  r   expect_response  r/  zPage.expect_responsec                 C      |  d||S )Nrk   rL  r  r   r   r   expect_websocket     zPage.expect_websocketc                 C   r2  r   rL  r  r   r   r   expect_worker  r4  zPage.expect_workerc	           	   	      sJ   |r| j |||||||dI d H  d S | j|||||||dI d H  d S )N)r  r  r   r  r  r  r  )r  r  )	r   r  r  r  r   r  r  r  r  r   r   r   set_checked  s(   
zPage.set_checkedr  c                    s>   |j | jkrtd| jdd|jiI d H }|| j|< d S )Nz2Locator must belong to the main frame of this pageregisterLocatorHandlerr  )r  r   r   r   r3  r  r   )r   r  rj  r   r   r   r   add_locator_handler  s   
zPage.add_locator_handlerr   c                    s   zKj r!j  d fdd}t|}|   I d H  nj  }|r.|I d H  W zjjfddddI d H  W d S  tyL   Y d S w zjjfddddI d H  W w  tyh   Y w w )	Nrv   c               
      sN   zj     d  W d S  ty& }  z |  W Y d } ~ d S d } ~ ww r   )r   r   r  set_exception)r  handler_finished_futurer   r   r   r   _handler  s   z4Page._on_locator_handler_triggered.<locals>._handlerc                      s    j ddiS )NresolveLocatorHandlerNoReplyr   ra  r   )r   r   r   r   r     s    z4Page._on_locator_handler_triggered.<locals>.<lambda>T)is_internalr   )	rm  r   create_futurer#   switchr   r   r   r   )r   r   r<  gcoro_or_futurer   r:  r   r     s8   

z"Page._on_locator_handler_triggeredr   )r   r   rv   N)rm   rl   rv   Nr   )rv   rG   )NNr   )NNN)NNNN)NNNNN)NNNNNNNNNNNNN)
NNNNNNNNNN)	NNNNNNNNN)NNNNNNN)NNNNNNNN)NNNNNN)rv   rH   )NNNNNNNNNNNNNNN)__name__
__module____qualname__r   r   r   __annotations__r9   r:   r;   r   rh  r   r   r   r"   r   r   rC   r   r}   r   r   r   r   r   r   propertyr   r
   ry   r   r0   r   r   r   floatr   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   r0  r/  r6  r   r(  r&   r=  rB   r@  rB  rG  rH  rO  rQ  rS  r%   r+   r'   r\  r   r^  r_  rb  ri  r.   intr   rs  r-   rp  r   r}  r   r,   r(   r  r   r   r   bytesr  r  rN   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  r   r  rs   r  r  r  r  r  r  r[   r  r   r  rE   r   r   r   r    rM  r  r   r  r   r  r!   r  r  r   r2   rA   r.  r0  r3   r1  r3  r5  r6  r8  r   __classcell__r   r   r   r   rL   e   s  
 
	
k!	








	


	














	
	








	


	

&	

	

	


	
$	
	
	
					



			

  		
  rL   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 )rl   rN   )rM   rr   rs   rt   ru   rv   Nc                    s8   t  ||||  jd fdd d  _d  _d S )NrN   c                    r   r   r   r   r   r   r   r   #  r   z!Worker.__init__.<locals>.<lambda>)r   r   r   r   r   r   r   r   r   r   r     s   
zWorker.__init__c                 C   r   )Nz<Worker url=r   r   r   r   r   r   r   '  r   zWorker.__repr__c                 C   s<   | j r
| j j|  | jr| jj|  | tjj|  d S r   )	r   r   r   r   _service_workersr   rl   r   rM   r   r   r   r   r   *  s
   zWorker._on_closec                 C   s
   | j d S )Nr   )r   r   r   r   r   r   1  r   z
Worker.urlr   r!  c                    &   t | jdt|t|dI d H S )NevaluateExpressionr   r!  )r?   r   r3  r  r@   r#  r   r   r   r"  5  s   zWorker.evaluatec                    rM  )NevaluateExpressionHandlerO  )r   r   r3  r  r@   r#  r   r   r   r$  @  s   zWorker.evaluate_handler   r   )rC  rD  rE  r   r   r   rh  r   r   r   r   rG  r   r=   r   r"  r<   r$  rK  r   r   r   r   rl     s4    

rl   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   rr   rs   rt   ru   rv   Nc                    s   t  |||| d S r   )r   r   r   r   r   r   r   O  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   r-  resolve)r     reject)error)r   r   r  r   r   r   r  rz  r?   inspectiscoroutiner   r3  r@   r  sysexc_infor   r   r8   )r   r   r   r,  r  	func_argsr  tbr   r   r   r   T  s(   

$zBindingCall.call)
rC  rD  rE  r   rh  r   r   r   r   rK  r   r   r   r   r   N  s    r   paramrv   c                 C   s,   t | tjrt| jS t | trt| S d S r   )rg  rer   trim_endpatternrh  )r[  r   r   r   r+  i  s
   

r+  sc                 C   s    t | dkr| d d d S | S )N2   u   …)r   )r_  r   r   r   r]  q  s   r]  )nr   r  rU  r\  rW  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._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.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   playwright._impl._inputr9   r:   r;   playwright._impl._js_handler<   r=   r>   r?   r@   playwright._impl._networkrA   rB   rC   rD   playwright._impl._videorE   playwright._impl._waiterrF   !playwright._impl._browser_contextrG   playwright._impl._fetchrH   playwright._impl._locatorrI   rJ   rK   rL   rl   r   rh  r+  r]  r   r   r   r   <module>   s\   4 X         @2