
    龙hv&                        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 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)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      Zdddedededd	f
 fd
ZdefdZ	 dFddde	e   dd	fdZ
dedd	fdZdedd	fdZdGdZedee   fd       ZedHd       ZdefdZ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dId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'	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dId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)dFd<edd	fd=Z*edefd>       Z+de,fd?Z-	 	 	 	 dJd@e(dAeee f   dBedCee   dd	f
dDZ.de/fdEZ0 xZ1S )KBrowserdisconnected)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 )NTFcontextc           	      Z    j                  t        t        t        | d                     S )Nr/   )_did_create_contextr   r   r   )paramsselfs    U/var/www/Befach/backend/env/lib/python3.12/site-packages/playwright/_impl/_browser.py<lambda>z"Browser.__init__.<locals>.<lambda>M   s$    433^\&2C%DE    closec                 $    j                         S N)	_on_close)_r3   s    r4   r5   z"Browser.__init__.<locals>.<lambda>Q   s    DNN,<r6   )super__init___browser_type_is_connected!_should_close_connection_on_close_cr_tracing_pathset	_contexts_traces_dir_channelon_close_reason)r3   r)   r*   r+   r,   	__class__s   `    r4   r=   zBrowser.__init__@   s     	t[96:!16./3.1e*.	
 	"<=,0r6   c                 <    d| j                    d| j                   dS )Nz<Browser type=z	 version=>)r>   versionr3   s    r4   __repr__zBrowser.__repr__T   s"     2 239T\\N!LLr6   browser_type
traces_dirc                 d    || _         || _        | j                  D ]  }| j                  |        y r9   )r>   rD   rC   _setup_browser_context)r3   rN   rO   r/   s       r4   _connect_to_browser_typez Browser._connect_to_browser_typeW   s0     *%~~G''0 &r6   r/   c                     | |_         | j                  j                  |       | j                  r| j	                  |       y y r9   )_browserrC   addr>   rQ   r3   r/   s     r4   r1   zBrowser._did_create_contextc   s:    7# ''0 r6   c                     | j                   |j                  _         | j                  J | j                  j                  j                  j
                  j                  |       y r9   )rD   _tracingr>   _playwright	selectors_contexts_for_selectorsrU   rV   s     r4   rQ   zBrowser._setup_browser_contextk   sN    '+'7'7$!!---&&00HHLLWUr6   c                 f    d| _         | j                  t        j                  j                  |        y )NF)r?   emitr&   Eventsr(   rL   s    r4   r:   zBrowser._on_closep   s"    "		'..--t4r6   c                 ,    t        | j                        S r9   )listrC   rL   s    r4   contextszBrowser.contextst   s    DNN##r6   c                 6    | j                   J | j                   S r9   )r>   rL   s    r4   rN   zBrowser.browser_typex   s     !!---!!!r6   c                     | j                   S r9   )r?   rL   s    r4   is_connectedzBrowser.is_connected}   s    !!!r6   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_paramsrE   sendr   r   r   _initialize_har_from_options)(r3   re   rf   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   r2   channelr/   s(                                           r4   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)Nr-   c                     K    j                   di  d {   } | j                          d {   }| |_        || _        |S 7 ,7 w)N )r   new_page_owned_context_owner_page)r/   pager2   r3   s     r4   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)'r3   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rx   ry   rw   rz   r{   r|   r}   r~   r   r   r   r   r   r   r   r   r   r   r   r2   s'   `                                     @r4   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)Nr7   r   )rG   r@   r   
stop_asyncrE   r   	Exceptionr   )r3   r   es      r4   r7   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 )NrK   )_initializerrL   s    r4   rK   zBrowser.version   s      ++r6   c                 h   K   t        | j                  j                  dd        d {         S 7 w)NnewBrowserCDPSession)r   rE   r   rL   s    r4   new_browser_cdp_sessionzBrowser.new_browser_cdp_session   s)     $--"4"45KT"RRSSRs   %20	2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   rE   strrA   r   )r3   r   r   r   r   r2   s         r4   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   rE   r   read_info_bufferdeleterA   r"   openwrite)r3   artifactbufferfs       r4   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r9   )r-   N)r-   r$   )$NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN)NNNN)2__name__
__module____qualname__r   r^   r   r   r=   rM   r   rR   r   r1   rQ   r:   propertyr   ra   rN   boolrd   r   r   r
   r   floatr   r   r   r   r   r   r   r   r    r	   r   r   r   r   r#   r   r7   rK   r   r   r   bytesr   __classcell__)rH   s   @r4   r&   r&   ;   s   #F1#1+.1691HL1	1(M# M %)
1#
1 SM
1 
	
11> 1d 1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
 !% $(?? CI? 	?
 SM? 
?E r6   r&   N)/pathlibr   typesr   typingr   r   r   r   r	   r
   r   r   r    playwright._impl._api_structuresr   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   r6   r4   <module>r      s_     !
 
 
  0 < 4 C ;
 
 
 (:Yl Yr6   