
    /j\(                     
   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 d dlmZ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 d dlmZ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* d dl+m,Z, erd dl-m.Z.  G d de      Z/y)    )Path)SimpleNamespace)	TYPE_CHECKINGDictListOptionalPatternSequenceSetUnioncast)BrowserBindResultClientCertificateGeolocationHttpCredentialsProxySettingsStorageStateViewportSize)Artifact)BrowserContext)
CDPSession)ChannelOwnerfrom_channel)is_target_closed_error)	ColorSchemeContrastForcedColorsHarContentPolicyHarModeReducedMotionServiceWorkersPolicylocals_to_paramsmake_dirs_for_file)Page)BrowserTypec            K           e Zd Z edd      Zdddededed	d
f
 fdZd	efdZ	 dLddde	e   d	d
fdZ
ded	d
fdZded	d
fdZdMdZed	ee   fd       ZedNd       Zd	efdZ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dOdedededededededededed ee   d!eeef   d"ed#ed$ed%ed&ed'ed(ed)ed*ed+ed,ed-ed.ee ef   d/ed0ee ef   d1ed2ee!ee f   d3ed4ed5e"d6ee#e   ef   d7e$d8e%d9ee&   d	efJd:Z'	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dOdedededededededededed ee   d!eeef   d"ed#ed$ed%ed&ed'ed)ed*ed(ed+ed,ed-ed.ee ef   d/ed0ee ef   d1ed2ee!ee f   d3ed4ed5e"d6ee#e   ef   d7e$d8e%d9ee&   d	e(fJd;Z)dLd<ed	d
fd=Z*ed	efd>       Z+d	e,fd?Z-	 	 	 dPd@edAedBedCe.d	e/f
dDZ0dMdEZ1	 	 	 	 dQdFe(dGeee f   dHedIee   d	d
f
dJZ2d	e3fdKZ4 xZ5S )RBrowsercontextdisconnected)ContextDisconnectedparentr%   typeguidinitializerreturnNc                     t            ||||       d  _        d _        d _        d  _        t                _        d  _         j                  j                  d fd        j                  j                  d fd       d  _        y )NTFr(   c           	      Z    j                  t        t        t        | d                     S )Nr(   )_did_create_contextr   r   r   )paramsselfs    W/var/www/html/maxservice/venv/lib/python3.12/site-packages/playwright/_impl/_browser.py<lambda>z"Browser.__init__.<locals>.<lambda>O   s&    433^\&2C%DE     closec                 $    j                         S N)	_on_close)_r5   s    r6   r7   z"Browser.__init__.<locals>.<lambda>S   s    DNN,< r8   )super__init___browser_type_is_connected!_should_close_connection_on_close_cr_tracing_pathset	_contexts_traces_dir_channelon_close_reason)r5   r,   r-   r.   r/   	__class__s   `    r6   r?   zBrowser.__init__B   s     	t[96:!16./3.1e*.	
 	"<=,0r8   c                 <    d| j                    d| j                   dS )Nz<Browser type=z	 version=>)r@   versionr5   s    r6   __repr__zBrowser.__repr__V   s"     2 239T\\N!LLr8   browser_type
traces_dirc                 d    || _         || _        | j                  D ]  }| j                  |        y r;   )r@   rF   rE   _setup_browser_context)r5   rP   rQ   r(   s       r6   _connect_to_browser_typez Browser._connect_to_browser_typeY   s5     *%~~ 	1G''0	1r8   c                     | |_         | j                  j                  |       | j                  r| j	                  |       | j                  t        j                  j                  |       y r;   )	_browserrE   addr@   rS   emitr'   Eventsr*   r5   r(   s     r6   r3   zBrowser._did_create_contexte   sM    7# ''0		'..(('2r8   c                     | j                   |j                  _         | j                  J | j                  j                  j                  j
                  j                  |       y r;   )rF   _tracingr@   _playwright	selectors_contexts_for_selectorsrW   rZ   s     r6   rS   zBrowser._setup_browser_contextn   sN    '+'7'7$!!---&&00HHLLWUr8   c                 f    d| _         | j                  t        j                  j                  |        y )NF)rA   rX   r'   rY   r+   rN   s    r6   r<   zBrowser._on_closes   s"    "		'..--t4r8   c                 ,    t        | j                        S r;   )listrE   rN   s    r6   contextszBrowser.contextsw   s    DNN##r8   c                 6    | j                   J | j                   S r;   )r@   rN   s    r6   rP   zBrowser.browser_type{   s     !!---!!!r8   c                     | j                   S r;   )rA   rN   s    r6   is_connectedzBrowser.is_connected   s    !!!r8   viewportscreen
noViewportignoreHTTPSErrorsjavaScriptEnabled	bypassCSP	userAgentlocale
timezoneIdgeolocationpermissionsextraHTTPHeadersofflinehttpCredentialsdeviceScaleFactorisMobilehasTouchcolorSchemereducedMotionforcedColorscontrastacceptDownloadsdefaultBrowserTypeproxyrecordHarPathrecordHarOmitContentrecordVideoDirrecordVideoSizestorageStatebaseURLstrictSelectorsserviceWorkersrecordHarUrlFilterrecordHarModerecordHarContentclientCertificatesc%                 Z  K   t        t                     }%| j                  J | j                  j                  |%       d {    | j                  j                  dd |%       d {   }&t        t        t        |&            }'|'j                  |#|"|||!       d {    |'S 7 b7 ?7 
w)N
newContext)record_har_contentrecord_har_moderecord_har_omit_contentrecord_har_pathrecord_har_url_filter)
r"   localsr@   _prepare_browser_context_paramsrG   sendr   r   r   _initialize_har_from_options)(r5   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r4   channelr(   s(                                           r6   new_contextzBrowser.new_context   s     N "&(+!!---  @@HHH**<vFF~|G'<=22/)$8)"4 3 
 	
 	
  	IF	
s6   A B+B%$B+'B'(6B+B)B+'B+)B+c%                     &K   t        t                     &dt        f& fd}% j                  j	                  |%d       d {   S 7 w)Nr0   c                     K    j                   di  d {   } | j                          d {   }| |_        || _        |S 7 ,7 w)N )r   new_page_owned_context_owner_page)r(   pager4   r5   s     r6   innerzBrowser.new_page.<locals>.inner   sN     ,D,,6v66G ))++D")D"&GK	 7+s   A
AA
AA
A
zCreate page)title)r"   r   r$   _connectionwrap_api_call)'r5   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   rz   r{   ry   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r4   s'   `                                     @r6   r   zBrowser.new_page   sF     N "&(+	T 	 %%33E3OOOOs   AAA
Areasonc                   K   || _         	 | j                  r#| j                  j                          d {    y | j                  j                  dd d|i       d {    y 7 -7 # t        $ r}t        |      s|Y d }~y d }~ww xY ww)Nr9   r   )rI   rB   r   
stop_asyncrG   r   	Exceptionr   )r5   r   es      r6   r9   zBrowser.close   s     #	55&&11333mm(($68JKKK 4K 	)!, -	sZ   B	)A& A"A& B	"A& A$A& !B	"A& $A& &	B/B<B	BB	c                      | j                   d   S )NrM   )_initializerrN   s    r6   rM   zBrowser.version   s      ++r8   c                 h   K   t        | j                  j                  dd        d {         S 7 w)NnewBrowserCDPSession)r   rG   r   rN   s    r6   new_browser_cdp_sessionzBrowser.new_browser_cdp_session   s)     $--"4"45KT"RRSSRs   %20	2r   workspaceDirhostportc                 z   K   | j                   j                  dd t        t                            d {   S 7 w)NstartServer)rG   send_return_as_dictr"   r   )r5   r   r   r   r   s        r6   bindzBrowser.bind   s8      ]]664!1&(!;
 
 	
 
s   2;9;c                 X   K   | j                   j                  dd        d {    y 7 w)N
stopServer)rG   r   rN   s    r6   unbindzBrowser.unbind  s      mm  t444s    *(*r   pathscreenshots
categoriesc                    K   t        t                     }|r|j                  |d<   |rt        |      | _        t        |      |d<   | j                  j                  dd |       d {    y 7 w)Nr   r   startTracing)r"   r   rG   strrC   r   )r5   r   r   r   r   r4   s         r6   start_tracingzBrowser.start_tracing  s\      "&(+!]]F6N$'ID! YF6Nmm  v>>>s   A%A/'A-(A/c           	        K   t        t        t        | j                  j	                  dd        d {               }|j                          d {   }|j                          d {    | j                  rLt        | j                         t        | j                  d      5 }|j                  |       d d d        d | _        |S 7 7 x7 b# 1 sw Y   xY ww)NstopTracingwb)r   r   r   rG   r   read_info_bufferdeleterC   r#   openwrite)r5   artifactbufferfs       r6   stop_tracingzBrowser.stop_tracing  s     l););M4)P#PQ
  0022oo  t445d++T2  a $(D! $Q2   sK   /CCCC
C)C*;C%C7C
CCCCr;   )r0   N)r0   r%   )$NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN)NNN)NNNN)6__name__
__module____qualname__r   rY   r   r   r?   rO   r   rT   r   r3   rS   r<   propertyr   rc   rP   boolrf   r   r   r
   r   floatr   r    r   r   r   r   r   r   r!   r	   r   r   r   r   r$   r   r9   rM   r   r   intr   r   r   r   bytesr   __classcell__)rJ   s   @r6   r'   r'   <   sK   #F
1#1+.1691HL1	1(M# M %)
1#
1 SM
1 
	
13> 3d 3Vn V V
5 $$~. $ $ " ""d "
 "&#"&"&#'%)+/+/#'#''+%)! $"&#*.%)+/(,7; $/37;!%-16:K44 4 	4
  4  4 4 4 4 4 !4 c]4 sCx.4 4 )4  !!4" #4$ %4& !'4( %)4* #+4, -4. /40  142 344 T3Y'546 #748 dCi(94: &;4< L#t34=4> ?4@ A4B -C4D "'#,"34E4F G4H +I4J !!23K4L 
M4p "&#"&"&#'%)+/+/#'#'%)!'+ $"&#*.%)+/(,7; $/37;!%-16:K0P0P 0P 	0P
  0P  0P 0P 0P 0P 0P !0P c]0P sCx.0P 0P )0P  !!0P" #0P$ %0P& !'0P( #)0P* +0P, %-0P. /0P0  10P2 30P4 T3Y'50P6 #70P8 dCi(90P: &;0P< L#t34=0P> ?0P@ A0PB -C0PD "'#,"34E0PF G0PH +I0PJ !!23K0PL 
M0Pd	# 	 	 , , ,Tz T !	
	
 	
 		

 	
 
	
5
 !% $(?? CI? 	?
 SM? 
?E r8   r'   N)0pathlibr   typesr   typingr   r   r   r   r	   r
   r   r   r    playwright._impl._api_structuresr   r   r   r   r   r   r   playwright._impl._artifactr   !playwright._impl._browser_contextr   playwright._impl._cdp_sessionr   playwright._impl._connectionr   r   playwright._impl._errorsr   playwright._impl._helperr   r   r   r   r   r    r!   r"   r#   playwright._impl._pager$   playwright._impl._browser_typer%   r'   r   r8   r6   <module>r      sd     !
 
 
   0 < 4 C ;
 
 
 (:il ir8   