
    aDg
                      d dl mZ d dlmZmZ d dlmZ d dlZd dlZddl	m
Z
 ddl	mZ ddl	mZ dd	l	mZ dd
l	mZ ddl	mZ d dlmZ  G d de      Ze G d d             Ze G d d             Ze G d d             Ze G d d             Z G d de      Z G d dej2                        Ze G d d             Ze G d d             Z G d d ej2                        Ze G d! d"             Ze G d# d$             Ze G d% d&             Z e G d' d(             Z!e G d) d*             Z"e G d+ d,             Z# G d- d.ej2                        Z$ ed/0      	 	 	 	 dd1       Z%	 d	 	 	 	 	 dd2Z&dd3Z'	 	 	 	 d	 	 	 	 	 	 	 	 	 dd4Z(	 d	 	 	 dd5Z) ed/0      dd6       Z* ed/0      dd7       Z+ ed/0      dd8       Z,	 	 d	 	 	 	 	 	 	 dd9Z- ed/0      	 	 	 	 	 	 dd:       Z.dd;Z/dd<Z0dd=Z1dd>Z2 ed/0      dd?       Z3dd@Z4ddAZ5ddBZ6ddCZ7	 	 	 	 	 	 ddDZ8ddEZ9	 d	 	 	 	 	 ddFZ:	 	 	 d	 	 	 	 	 	 	 	 	 ddGZ;	 	 	 	 ddHZ<	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddIZ=	 	 d	 	 	 	 	 ddJZ> ed/0      	 	 	 	 ddK       Z?	 	 	 	 ddLZ@	 	 	 	 ddMZA	 	 d	 	 	 	 	 	 	 	 	 	 	 ddNZB	 	 	 	 ddOZC	 	 	 	 ddPZD ed/0      	 	 	 	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddQ       ZE ed/0      	 	 	 	 	 	 	 	 ddR       ZF	 	 	 	 ddSZG	 	 	 	 ddTZH	 	 	 	 	 	 ddUZI	 d	 	 	 	 	 ddVZJ ed/0      	 	 	 d	 	 	 	 	 	 	 ddW       ZK	 	 	 	 ddXZL ed/0      	 d	 	 	 	 	 ddY       ZM	 	 	 	 	 d	 	 	 	 	 	 	 	 	 	 	 ddZZNdd[ZOdd\ZPdd]ZQ	 	 	 	 dd^ZRdd_ZS	 	 	 	 dd`ZT	 	 	 	 	 	 ddaZUddbZV	 d	 	 	 	 	 ddcZWdddZX	 	 	 	 ddeZY	 d	 	 	 	 	 ddfZZ edg      e G dh di                    Z[ edj      e G dk dl                    Z\ edm      e G dn do                    Z] ed/0       edp      e G dq dr                           Z^ eds      e G dt du                    Z_ edv      e G dw dx                    Z` edy      e G dz d{                    Za ed|      e G d} d~                    Zb ed/0       ed      e G d d                           Zc ed      e G d d                    Zd ed      e G d d                    Ze ed      e G d d                    Zf ed      e G d d                    Zg ed      e G d d                    Zh ed      e G d d                    Zi ed      e G d d                    Zj ed      e G d d                    Zk ed      e G d d                    Zl ed      e G d d                    Zm ed      e G d d                    Zn ed      e G d d                    Zo ed      e G d d                    Zp ed      e G d d                    Zqy)    )annotations)event_classT_JSON_DICT)	dataclassN   )debugger)dom)	emulation)io)network)runtime)
deprecatedc                  <     e Zd ZdZddZedd       Z fdZ xZS )FrameIdz"
    Unique frame identifier.
    c                    | S N selfs    H/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/cdp/page.pyto_jsonzFrameId.to_json           c                     | |      S r   r   clsjsons     r   	from_jsonzFrameId.from_json       4yr   c                >    dj                  t        | 	               S )NzFrameId({})formatsuper__repr__r   	__class__s    r   r$   zFrameId.__repr__"   s    ##EG$4$677r   returnstr)r   r)   r(   r   	__name__
__module____qualname____doc__r   classmethodr   r$   __classcell__r&   s   @r   r   r      s+      8 8r   r   c                      e Zd ZU dZded<   ded<   ded<   ded<   ded<   d	Zd
ed<   d	Zd
ed<   d	Zd
ed<   d	Zd
ed<   ddZ	e
dd       Zy	)Framez2
    Information about the Frame on the page.
    r)   id_network.LoaderId	loader_idurlsecurity_origin	mime_typeNtyping.Optional[str]	parent_idnameurl_fragmentunreachable_urlc                   t               }| j                  |d<   | j                  j                         |d<   | j                  |d<   | j
                  |d<   | j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  |d	<   |S )
NidloaderIdr7   securityOriginmimeTypeparentIdr<   urlFragmentunreachableUrl)dictr4   r6   r   r7   r8   r9   r;   r<   r=   r>   r   r   s     r   r   zFrame.to_jsonF   s     FXXT
>>113ZhhU!%!5!5>>Z>>%#~~D99 99DL("&"3"3D+%)%9%9D!"r   c                ^    | t        |d         t        j                  j                  |d         t        |d         t        |d         t        |d         d|v rt        |d         nd d|v rt        |d         nd d|v rt        |d         nd d	|v rt        |d	         
	      S d 
	      S )Nr@   rA   r7   rB   rC   rD   r<   rE   rF   )	r4   r6   r7   r8   r9   r;   r<   r=   r>   )r)   r   LoaderIdr   r   s     r   r   zFrame.from_jsonW   s    DJ&&00j1ABDK %5 67$z*+/9T/Ac$z*+t&,nT&\"$5Bd5JT-01PT;Kt;SC%5 67

 
	
 Z^

 
	
r   r(   r   )r   r   r(   r3   )r+   r,   r-   r.   __annotations__r;   r<   r=   r>   r   r/   r   r   r   r   r3   r3   &   sy     
H   
H  N '+I#* "&D
% *.L&- -1O)0" 
 
r   r3   c                      e Zd ZU dZded<   ded<   ded<   dZded	<   dZd
ed<   dZded<   dZded<   ddZ	e
dd       Zy)FrameResourcez5
    Information about the Resource on the page.
    r)   r7   znetwork.ResourceTypetype_r9   N'typing.Optional[network.TimeSinceEpoch]last_modifiedtyping.Optional[float]content_sizetyping.Optional[bool]failedcanceledc                   t               }| j                  |d<   | j                  j                         |d<   | j                  |d<   | j
                  | j
                  j                         |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   |S )Nr7   typerC   lastModifiedcontentSizerU   rV   )	rG   r7   rO   r   r9   rQ   rS   rU   rV   rH   s     r   r   zFrameResource.to_json   s     FhhUzz))+V>>Z)#'#5#5#=#=#?D ("&"3"3D;;"![[DN==$#}}Dr   c                R    | t        |d         t        j                  j                  |d         t        |d         d|v r"t        j                  j                  |d         nd d|v rt        |d         nd d|v rt        |d         nd d|v rt        |d               S d       S )	Nr7   rX   rC   rY   rZ   rU   rV   )r7   rO   r9   rQ   rS   rU   rV   )r)   r   ResourceTyper   TimeSinceEpochfloatboolr   s     r   r   zFrameResource.from_json   s    DK &&00f>$z*+TbfjTj'00::4;OPpt7D7LtM23RV+3t+;4X'/9T/AT$z*+
 	
 HL
 	
r   rK   )r   r   r(   rN   )r+   r,   r-   r.   rL   rQ   rS   rU   rV   r   r/   r   r   r   r   rN   rN   f   sk     
H   N >BM:A ,0L(/ %)F!( '+H#* 	
 	
r   rN   c                  N    e Zd ZU dZded<   ded<   dZded<   dd	Zedd
       Zy)FrameResourceTreezR
    Information about the Frame hierarchy along with their cached resources.
    r3   frameztyping.List[FrameResource]	resourcesNz/typing.Optional[typing.List[FrameResourceTree]]child_framesc                ,   t               }| j                  j                         |d<   | j                  D cg c]  }|j                          c}|d<   | j                  +| j                  D cg c]  }|j                          c}|d<   |S c c}w c c}w )Nrb   rc   childFrames)rG   rb   r   rc   rd   r   r   is      r   r   zFrameResourceTree.to_json   sy     F

**,W26..AQQYY[A[(8<8I8I"J1199;"JD B"Js   B-Bc           
          | t         j                  |d         |d   D cg c]  }t        j                  |       c}d|v r+|d   D cg c]  }t        j                  |       c}      S d       S c c}w c c}w )Nrb   rc   rf   )rb   rc   rd   )r3   r   rN   ra   r   r   rh   s      r   r   zFrameResourceTree.from_json   s{    //$w-0;?;LMa}..q1MZgkoZo$}BUVQ+55a8V
 	
 vz
 	
MVs   A5

A:rK   )r   r   r(   ra   	r+   r,   r-   r.   rL   rd   r   r/   r   r   r   r   ra   ra      s>     L *) EILAH 
 
r   ra   c                  D    e Zd ZU dZded<   dZded<   d	dZed
d       Zy)	FrameTreez0
    Information about the Frame hierarchy.
    r3   rb   Nz'typing.Optional[typing.List[FrameTree]]rd   c                    t               }| j                  j                         |d<   | j                  +| j                  D cg c]  }|j                          c}|d<   |S c c}w )Nrb   rf   )rG   rb   r   rd   rg   s      r   r   zFrameTree.to_json   sW     F

**,W(8<8I8I"J1199;"JD #Ks   A!c           	          | t         j                  |d         d|v r+|d   D cg c]  }t        j                  |       c}      S d       S c c}w )Nrb   rf   )rb   rd   )r3   r   rm   rj   s      r   r   zFrameTree.from_json   sU    //$w-0R_cgRg$}:MNQ)--a0N
 	
mq
 	
Ns   A
rK   )r   r   r(   rm   rk   r   r   r   rm   rm      s5     L =AL9@ 
 
r   rm   c                  <     e Zd ZdZddZedd       Z fdZ xZS )ScriptIdentifierz#
    Unique script identifier.
    c                    | S r   r   r   s    r   r   zScriptIdentifier.to_json   r   r   c                     | |      S r   r   r   s     r   r   zScriptIdentifier.from_json   r   r   c                >    dj                  t        | 	               S )NzScriptIdentifier({})r!   r%   s    r   r$   zScriptIdentifier.__repr__   s    %,,UW-=-?@@r   r'   )r   r)   r(   rq   r*   r1   s   @r   rq   rq      s-      A Ar   rq   c                  ^    e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZddZedd       Zy)TransitionTypez
    Transition type.
    linktypedaddress_barauto_bookmarkauto_subframemanual_subframe	generatedauto_toplevelform_submitreloadkeywordkeyword_generatedotherc                    | j                   S r   valuer   s    r   r   zTransitionType.to_json       zzr   c                     | |      S r   r   r   s     r   r   zTransitionType.from_json   r   r   Nr'   )r   r)   r(   rv   )r+   r,   r-   r.   LINKTYPEDADDRESS_BARAUTO_BOOKMARKAUTO_SUBFRAMEMANUAL_SUBFRAME	GENERATEDAUTO_TOPLEVELFORM_SUBMITRELOADKEYWORDKEYWORD_GENERATEDOTHERr   r/   r   r   r   r   rv   rv      sd     DEK#M#M'OI#MKFG+E  r   rv   c                  ^    e Zd ZU dZded<   ded<   ded<   ded<   ded	<   dd
Zedd       Zy)NavigationEntryz#
    Navigation history entry.
    intr4   r)   r7   user_typed_urltitlerv   transition_typec                    t               }| j                  |d<   | j                  |d<   | j                  |d<   | j                  |d<   | j
                  j                         |d<   |S )Nr@   r7   userTypedURLr   transitionType)rG   r4   r7   r   r   r   r   rH   s     r   r   zNavigationEntry.to_json  s_     FXXT
hhU#22^

W!%!5!5!=!=!?r   c           
          | t        |d         t        |d         t        |d         t        |d         t        j                  |d               S )Nr@   r7   r   r   r   )r4   r7   r   r   r   )r   r)   rv   r   r   s     r   r   zNavigationEntry.from_json  sS    DJDK tN34d7m$*44T:J5KL
 	
r   NrK   )r   r   r(   r   r+   r,   r-   r.   rL   r   r/   r   r   r   r   r   r      sE     
H 
H  J $# 
 
r   r   c                  v    e Zd ZU dZded<   ded<   ded<   ded<   ded<   ded<   d	Zd
ed<   ddZedd       Zy	)ScreencastFrameMetadataz$
    Screencast frame metadata.
    r^   
offset_toppage_scale_factordevice_widthdevice_heightscroll_offset_xscroll_offset_yNrP   	timestampc                    t               }| j                  |d<   | j                  |d<   | j                  |d<   | j                  |d<   | j
                  |d<   | j                  |d<   | j                  | j                  j                         |d<   |S )N	offsetToppageScaleFactordeviceWidthdeviceHeightscrollOffsetXscrollOffsetYr   )	rG   r   r   r   r   r   r   r   r   rH   s     r   r   zScreencastFrameMetadata.to_json@  s     F OO["&"8"8"//]#11^ $ 4 4_ $ 4 4_>>% $ 6 6 8Dr   c                    | t        |d         t        |d         t        |d         t        |d         t        |d         t        |d         d|v r't        j                  j                  |d               S d       S )	Nr   r   r   r   r   r   r   )r   r   r   r   r   r   r   )r^   r   r]   r   r   s     r   r   z!ScreencastFrameMetadata.from_jsonL  s    T+./#D):$;<tM23^ 45!$"78!$"78MX\`M`g,,66tK7HI
 	
 gk
 	
r   rK   )r   r   r(   r   )	r+   r,   r-   r.   rL   r   r   r/   r   r   r   r   r   r   &  s]           :>I6=
 	
 	
r   r   c                  :    e Zd ZdZdZdZdZdZd	dZe	d
d       Z
y)
DialogTypez!
    Javascript dialog type.
    alertconfirmpromptbeforeunloadc                    | j                   S r   r   r   s    r   r   zDialogType.to_jsonb  r   r   c                     | |      S r   r   r   s     r   r   zDialogType.from_jsone  r   r   Nr'   )r   r)   r(   r   )r+   r,   r-   r.   ALERTCONFIRMPROMPTBEFOREUNLOADr   r/   r   r   r   r   r   r   Y  s6     EGF!L  r   r   c                  T    e Zd ZU dZded<   ded<   ded<   ded<   ddZedd	       Zy
)AppManifestErrorz*
    Error while paring app manifest.
    r)   messager   criticallinecolumnc                    t               }| j                  |d<   | j                  |d<   | j                  |d<   | j                  |d<   |S )Nr   r   r   r   )rG   r   r   r   r   rH   s     r   r   zAppManifestError.to_json{  sC     F,,Y==ZyyVXr   c           	     z     | t        |d         t        |d         t        |d         t        |d               S )Nr   r   r   r   )r   r   r   r   )r)   r   r   s     r   r   zAppManifestError.from_json  s@    Y(j)*T&\"tH~&	
 	
r   NrK   )r   r   r(   r   r   r   r   r   r   r   j  s<     L M I K 
 
r   r   c                  T    e Zd ZU dZded<   ded<   ded<   ded<   d
dZedd       Zy	)LayoutViewportz2
    Layout viewport position and dimensions.
    r   page_xpage_yclient_widthclient_heightc                    t               }| j                  |d<   | j                  |d<   | j                  |d<   | j                  |d<   |S )NpageXpageYclientWidthclientHeight)rG   r   r   r   r   rH   s     r   r   zLayoutViewport.to_json  sH     FWW"//]#11^r   c           	     z     | t        |d         t        |d         t        |d         t        |d               S )Nr   r   r   r   )r   r   r   r   r   r   s     r   r   zLayoutViewport.from_json  sA    tG}%tG}%T-01d>23	
 	
r   NrK   )r   r   r(   r   r   r   r   r   r   r     s>     K K   
 
r   r   c                      e Zd ZU dZded<   ded<   ded<   ded<   ded<   ded<   ded	<   d
Zded<   ddZedd       Zy
)VisualViewportz:
    Visual viewport position, dimensions, and scale.
    r^   offset_xoffset_yr   r   r   r   scaleNrR   zoomc                "   t               }| j                  |d<   | j                  |d<   | j                  |d<   | j                  |d<   | j
                  |d<   | j                  |d<   | j                  |d<   | j                  | j                  |d<   |S )	NoffsetXoffsetYr   r   r   r   r   r   )	rG   r   r   r   r   r   r   r   r   rH   s     r   r   zVisualViewport.to_json  s     F--Y--YWW"//]#11^

W99 99DLr   c                     | t        |d         t        |d         t        |d         t        |d         t        |d         t        |d         t        |d         d|v rt        |d         	      S d 	      S )
Nr   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   r^   r   s     r   r   zVisualViewport.from_json  s    4	?+4	?+g'g'tM23^ 45W&(.$tF|$	
 		
 =A	
 		
r   rK   )r   r   r(   r   )	r+   r,   r-   r.   rL   r   r   r/   r   r   r   r   r   r     s`     O O M M   L $(D
 ' 

 

r   r   c                  ^    e Zd ZU dZded<   ded<   ded<   ded<   ded<   ddZedd	       Zy
)Viewportz,
    Viewport for capturing screenshot.
    r^   xywidthheightr   c                    t               }| j                  |d<   | j                  |d<   | j                  |d<   | j                  |d<   | j
                  |d<   |S )Nr   r   r   r   r   )rG   r   r   r   r   r   rH   s     r   r   zViewport.to_json  sO     FFFS	FFS	

WX

Wr   c           
          | t        |d         t        |d         t        |d         t        |d         t        |d               S )Nr   r   r   r   r   )r   r   r   r   r   r   r   s     r   r   zViewport.from_json  sK    DIDIW&h(W&
 	
r   NrK   )r   r   r(   r   r   r   r   r   r   r     sC     H H L M L 
 
r   r   c                      e Zd ZU dZdZded<   dZded<   dZded<   dZded<   dZ	ded<   dZ
ded	<   dZded
<   ddZedd       Zy)FontFamiliesz+
    Generic font families collection.
    Nr:   standardfixedserif
sans_serifcursivefantasy
pictographc                   t               }| j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   | j
                  | j
                  |d<   | j                  | j                  |d<   | j                  | j                  |d<   |S )Nr   r   r   	sansSerifr   r   r   )rG   r   r   r   r   r   r   r   rH   s     r   r   zFontFamilies.to_json*  s     F==$#}}D::! JJDM::! JJDM??& $D<<#"llDO<<#"llDO??&!%Dr   c                &    | d|v rt        |d         nd d|v rt        |d         nd d|v rt        |d         nd d|v rt        |d         nd d|v rt        |d         nd d|v rt        |d         nd d|v rt        |d               S d       S )	Nr   r   r   r   r   r   r   )r   r   r   r   r   r   r   r)   r   s     r   r   zFontFamilies.from_json<  s    .8D.@Sj)*d(/4#d7m$T(/4#d7m$T1<1Ds4,-$,5,=CY(4,5,=CY(42>$2Fs4-.
 	
 MQ
 	
r   rK   )r   r   r(   r   )r+   r,   r-   r.   r   rL   r   r   r   r   r   r   r   r/   r   r   r   r   r   r     s{     &*H") #'E& #'E& (,J$+ %)G!( %)G!( (,J$+$ 	
 	
r   r   c                  H    e Zd ZU dZdZded<   dZded<   ddZed	d       Z	y)
	FontSizesz
    Default font sizes.
    Ntyping.Optional[int]r   r   c                    t               }| j                  | j                  |d<   | j                  | j                  |d<   |S )Nr   r   )rG   r   r   rH   s     r   r   zFontSizes.to_jsonT  s=     F==$#}}D::! JJDMr   c                h     | d|v rt        |d         nd d|v rt        |d               S d       S )Nr   r   )r   r   r   r   s     r   r   zFontSizes.from_json\  sD    .8D.@Sj)*d(/4#d7m$
 	
=A
 	
r   rK   )r   r   r(   r   )
r+   r,   r-   r.   r   rL   r   r   r/   r   r   r   r   r   r   I  s:     &*H") #'E& 
 
r   r   c                  B    e Zd ZdZdZdZdZdZdZdZ	ddZ
edd	       Zy
)ClientNavigationReasonformSubmissionGetformSubmissionPosthttpHeaderRefreshscriptInitiatedmetaTagRefreshpageBlockInterstitialr   c                    | j                   S r   r   r   s    r   r   zClientNavigationReason.to_jsonm  r   r   c                     | |      S r   r   r   s     r   r   z ClientNavigationReason.from_jsonp  r   r   Nr'   )r   r)   r(   r   )r+   r,   r-   FORM_SUBMISSION_GETFORM_SUBMISSION_POSTHTTP_HEADER_REFRESHSCRIPT_INITIATEDMETA_TAG_REFRESHPAGE_BLOCK_INTERSTITIALr   r   r/   r   r   r   r   r   r   d  sD    -/-('5F  r   r   z1.3)versionc              #  j   K   t               }| |d<   d|d}|}t        j                  |d         S w)z
    Deprecated, please use addScriptToEvaluateOnNewDocument instead.

    .. deprecated:: 1.3

    **EXPERIMENTAL**

    :param script_source:
    :returns: Identifier of the added script.
    scriptSourcezPage.addScriptToEvaluateOnLoadmethodparams
identifierrG   rq   r   )script_sourcer  cmd_dictr   s       r   add_script_to_evaluate_on_loadr  u  sE      &F*F>2H >D%%d<&899s   13c              #  x   K   t               }| |d<   |||d<   d|d}|}t        j                  |d         S w)a  
    Evaluates given script in every frame upon creation (before loading frame's scripts).

    :param source:
    :param world_name: **(EXPERIMENTAL)** *(Optional)* If specified, creates an isolated world with the given name and evaluates given script in it. This world name will be used as the ExecutionContextDescription::name when the corresponding event is emitted.
    :returns: Identifier of the added script.
    source	worldNamez%Page.addScriptToEvaluateOnNewDocumentr  r  r  )r  
world_namer  r  r   s        r   &add_script_to_evaluate_on_new_documentr    sU      &FF8({9H >D%%d<&899   8:c               #     K   ddi} | }yw)z/
    Brings page to front (activates tab).
    r  zPage.bringToFrontNr   r  r   s     r   bring_to_frontr    s     
 	%H >D   
c              #     K   t               }| | |d<   |||d<   ||j                         |d<   |||d<   d|d}|}t        |d         S w)a  
    Capture page screenshot.

    :param format_: *(Optional)* Image compression format (defaults to png).
    :param quality: *(Optional)* Compression quality from range [0..100] (jpeg only).
    :param clip: *(Optional)* Capture the screenshot of a given region only.
    :param from_surface: **(EXPERIMENTAL)** *(Optional)* Capture the screenshot from the surface, rather than the view. Defaults to true.
    :returns: Base64-encoded image data.
    r"   qualityclipfromSurfacezPage.captureScreenshotr  data)rG   r   r)   )format_r  r  from_surfacer  r  r   s          r   capture_screenshotr$    sy      &F"x#yv ,}*H >DtF|s   AAc              #  Z   K   t               }| | |d<   d|d}|}t        |d         S w)a"  
    Returns a snapshot of the page as a string. For MHTML format, the serialization includes
    iframes, shadow DOM, external resources, and element-inline styles.

    **EXPERIMENTAL**

    :param format_: *(Optional)* Format (defaults to mhtml).
    :returns: Serialized page data.
    r"   zPage.captureSnapshotr  r!  )rG   r)   )r"  r  r  r   s       r   capture_snapshotr&    sD      &F"x(H >DtF|s   )+c               #     K   ddi} | }yw)z]
    Clears the overriden device metrics.

    .. deprecated:: 1.3

    **EXPERIMENTAL**
    r  zPage.clearDeviceMetricsOverrideNr   r  s     r   clear_device_metrics_overrider(    s      	3H >Dr  c               #     K   ddi} | }yw)zb
    Clears the overridden Device Orientation.

    .. deprecated:: 1.3

    **EXPERIMENTAL**
    r  z#Page.clearDeviceOrientationOverrideNr   r  s     r   !clear_device_orientation_overrider*    s      	7H >Dr  c               #     K   ddi} | }yw)zW
    Clears the overriden Geolocation Position and Error.

    .. deprecated:: 1.3
    r  zPage.clearGeolocationOverrideNr   r  s     r   clear_geolocation_overrider,    s      	1H >Dr  c              #     K   t               }| j                         |d<   |||d<   |||d<   d|d}|}t        j                  j	                  |d         S w)a  
    Creates an isolated world for the given frame.

    :param frame_id: Id of the frame in which the isolated world should be created.
    :param world_name: *(Optional)* An optional name which is reported in the Execution Context.
    :param grant_univeral_access: *(Optional)* Whether or not universal access should be granted to the isolated world. This is a powerful option, use with caution.
    :returns: Execution context of the isolated world.
    frameIdr  grantUniveralAccesszPage.createIsolatedWorldr  executionContextId)rG   r   r   ExecutionContextIdr   )frame_idr  grant_univeral_accessr  r  r   s         r   create_isolated_worldr4    sv      &F ((*F9({((=$%,H >D%%//5I0JKKs   AAc              #  F   K   t               }| |d<   ||d<   d|d}|}yw)z
    Deletes browser cookie with given name, domain and path.

    .. deprecated:: 1.3

    **EXPERIMENTAL**

    :param cookie_name: Name of the cookie to remove.
    :param url: URL to match cooke domain and path.
    
cookieNamer7   zPage.deleteCookier  NrG   )cookie_namer7   r  r  r   s        r   delete_cookier9  +  s8      &F&F<F5M%H >D   !c               #     K   ddi} | }yw)z-
    Disables page domain notifications.
    r  zPage.disableNr   r  s     r   disabler<  D  s     
 	.H >Dr  c               #     K   ddi} | }yw)z,
    Enables page domain notifications.
    r  zPage.enableNr   r  s     r   enabler>  N  s     
 	-H >Dr  c               #     K   ddi} | }t        |d         |d   D cg c]  }t        j                  |       c}d|v rt        |d         fS dfS c c}w w)u   


    :returns: A tuple with the following items:

        0. **url** – Manifest location.
        1. **errors** – 
        2. **data** – *(Optional)* Manifest content.
    r  zPage.getAppManifestr7   errorsr!  N)r)   r   r   r  r   rh   s      r   get_app_manifestrB  X  sv      	'H >DDK04X?1		#	#A	&?#t^DL  26 ?s   AAAc               #  \   K   ddi} | }|d   D cg c]  }t        |       c}S c c}w w)z,


    **EXPERIMENTAL**

    :returns: 
    r  zPage.getInstallabilityErrorsr@  r   rA  s      r   get_installability_errorsrD  m  s:      	0H >D N+qCF+++s   ,',c               #     K   ddi} | }|d   D cg c]!  }t         j                  j                  |      # c}S c c}w w)z
    Returns all browser cookies. Depending on the backend support, will return detailed cookie
    information in the ``cookies`` field.

    .. deprecated:: 1.3

    **EXPERIMENTAL**

    :returns: Array of cookie objects.
    r  zPage.getCookiescookies)r   Cookier   rA  s      r   get_cookiesrH  |  sE      	#H >D15iAAGNN$$Q'AAAs   A &;A c               #  J   K   ddi} | }t         j                  |d         S w)z\
    Returns present frame tree structure.

    :returns: Present frame tree structure.
    r  zPage.getFrameTree	frameTree)rm   r   r  s     r   get_frame_treerK    s4      	%H >DtK011   !#c               #     K   ddi} | }t         j                  |d         t        j                  |d         t        j                  j                  |d         fS w)u_  
    Returns metrics relating to the layouting of the page, such as viewport bounds/scale.

    :returns: A tuple with the following items:

        0. **layoutViewport** – Metrics relating to the layout viewport.
        1. **visualViewport** – Metrics relating to the visual viewport.
        2. **contentSize** – Size of scrollable area.
    r  zPage.getLayoutMetricslayoutViewportvisualViewportrZ   )r   r   r   r	   Rectr  s     r   get_layout_metricsrQ    sg      	)H >D  &6!78  &6!784./ s   AAc               #     K   ddi} | }t        |d         |d   D cg c]  }t        j                  |       c}fS c c}w w)u   
    Returns navigation history for the current page.

    :returns: A tuple with the following items:

        0. **currentIndex** – Index of the current navigation history entry.
        1. **entries** – Array of navigation history entries.
    r  zPage.getNavigationHistorycurrentIndexentries)r   r   r   rA  s      r   get_navigation_historyrU    sU      	-H >DD !/3I?!	"	"1	%? ?s   A?	Ac               #     K   ddi} | }yw)z9
    Resets navigation history for the current page.
    r  zPage.resetNavigationHistoryNr   r  s     r   reset_navigation_historyrW    s     
 	/H >Dr  c              #     K   t               }| j                         |d<   ||d<   d|d}|}t        |d         t        |d         fS w)uX  
    Returns content of the given resource.

    **EXPERIMENTAL**

    :param frame_id: Frame id to get resource for.
    :param url: URL of the resource to get content for.
    :returns: A tuple with the following items:

        0. **content** – Resource content.
        1. **base64Encoded** – True, if content was served as base64.
    r.  r7   zPage.getResourceContentr  contentbase64Encoded)rG   r   r)   r_   )r2  r7   r  r  r   s        r   get_resource_contentr[    sd       &F ((*F9F5M+H >DDOT/"# s   AA
c               #  J   K   ddi} | }t         j                  |d         S w)z
    Returns present frame / resource tree structure.

    **EXPERIMENTAL**

    :returns: Present frame / resource tree structure.
    r  zPage.getResourceTreerJ  )ra   r   r  s     r   get_resource_treer]    s4      	(H >D&&tK'899rL  c              #  J   K   t               }| |d<   |||d<   d|d}|}yw)a,  
    Accepts or dismisses a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload).

    :param accept: Whether to accept or dismiss the dialog.
    :param prompt_text: *(Optional)* The text to enter into the dialog prompt before accepting. Used only if this is a prompt dialog.
    acceptN
promptTextzPage.handleJavaScriptDialogr  r7  )r_  prompt_textr  r  r   s        r   handle_java_script_dialogrb    s?      &FF8*|/H >DrL  c              #  D  K   t               }| |d<   |||d<   ||j                         |d<   ||j                         |d<   d|d}|}t        j                  |d         d|v r"t        j
                  j                  |d         ndd	|v rt        |d	         fS dfS w)
uf  
    Navigates current page to the given URL.

    :param url: URL to navigate the page to.
    :param referrer: *(Optional)* Referrer URL.
    :param transition_type: *(Optional)* Intended transition type.
    :param frame_id: *(Optional)* Frame id to navigate, if not specified navigates the top frame.
    :returns: A tuple with the following items:

        0. **frameId** – Frame id that has navigated (or failed to navigate)
        1. **loaderId** – *(Optional)* Loader identifier.
        2. **errorText** – *(Optional)* User friendly error message, present if and only if navigation has failed.
    r7   Nreferrerr   r.  zPage.navigater  rA   	errorText)rG   r   r   r   r   rJ   r)   )r7   rd  r   r2  r  r  r   s          r   navigaterf    s     & &FF5M%z"#2#:#:#< $,,.y!H >D$y/*8Bd8J""4
#34PT"-"5D  <@ s   BB c              #  <   K   t               }| |d<   d|d}|}yw)zy
    Navigates current page to the given history entry.

    :param entry_id: Unique id of the entry to navigate to.
    entryIdzPage.navigateToHistoryEntryr  Nr7  )entry_idr  r  r   s       r   navigate_to_history_entryrj  7  s/      &F F9/H >D   c              #  ~  K   t               }| | |d<   |||d<   |||d<   |||d<   |||d<   |||d<   |||d<   |||d	<   |||d
<   |	|	|d<   |
|
|d<   |||d<   |||d<   |||d<   |||d<   |||d<   d|d}|}t        |d         d|v r#t        j                  j	                  |d         fS dfS w)u  
    Print page as PDF.

    :param landscape: *(Optional)* Paper orientation. Defaults to false.
    :param display_header_footer: *(Optional)* Display header and footer. Defaults to false.
    :param print_background: *(Optional)* Print background graphics. Defaults to false.
    :param scale: *(Optional)* Scale of the webpage rendering. Defaults to 1.
    :param paper_width: *(Optional)* Paper width in inches. Defaults to 8.5 inches.
    :param paper_height: *(Optional)* Paper height in inches. Defaults to 11 inches.
    :param margin_top: *(Optional)* Top margin in inches. Defaults to 1cm (~0.4 inches).
    :param margin_bottom: *(Optional)* Bottom margin in inches. Defaults to 1cm (~0.4 inches).
    :param margin_left: *(Optional)* Left margin in inches. Defaults to 1cm (~0.4 inches).
    :param margin_right: *(Optional)* Right margin in inches. Defaults to 1cm (~0.4 inches).
    :param page_ranges: *(Optional)* Paper ranges to print, e.g., '1-5, 8, 11-13'. Defaults to the empty string, which means print all pages.
    :param ignore_invalid_page_ranges: *(Optional)* Whether to silently ignore invalid but successfully parsed page ranges, such as '3-2'. Defaults to false.
    :param header_template: *(Optional)* HTML template for the print header. Should be valid HTML markup with following classes used to inject printing values into them: - ```date````: formatted print date - ````title````: document title - ````url````: document location - ````pageNumber````: current page number - ````totalPages````: total pages in the document  For example, ````<span class=title></span>```` would generate span containing the title.
    :param footer_template: *(Optional)* HTML template for the print footer. Should use the same format as the ````headerTemplate````.
    :param prefer_css_page_size: *(Optional)* Whether or not to prefer page size as defined by css. Defaults to false, in which case the content will be scaled to fit the paper size.
    :param transfer_mode: **(EXPERIMENTAL)** *(Optional)* return as stream
    :returns: A tuple with the following items:

        0. **data** – Base64-encoded pdf data. Empty if `` returnAsStream` is specified.
        1. **stream** – *(Optional)* A handle of the stream that holds resulting PDF data.
    N	landscapedisplayHeaderFooterprintBackgroundr   
paperWidthpaperHeight	marginTopmarginBottom
marginLeftmarginRight
pageRangesignoreInvalidPageRangesheaderTemplatefooterTemplatepreferCSSPageSizetransferModezPage.printToPDFr  r!  stream)rG   r)   r   StreamHandler   )rm  display_header_footerprint_backgroundr   paper_widthpaper_height
margin_topmargin_bottommargin_leftmargin_rightpage_rangesignore_invalid_page_rangesheader_templatefooter_templateprefer_css_page_sizetransfer_moder  r  r   s                      r   print_to_pdfr  H  sk    T &F'{((=$%#$4 !w*| ,}({ !.~*| ,}*|!-,F()"#2 "#2 '&:"# !.~#H >DDL5=5E!!$x.1 KO s   B;B=c              #  N   K   t               }| | |d<   |||d<   d|d}|}yw)an  
    Reloads given page optionally ignoring the cache.

    :param ignore_cache: *(Optional)* If true, browser cache is ignored (as if the user pressed Shift+refresh).
    :param script_to_evaluate_on_load: *(Optional)* If set, the script will be injected into all frames of the inspected page after reload. Argument will be ignored if reloading dataURL origin.
    NignoreCachescriptToEvaluateOnLoadzPage.reloadr  r7  )ignore_cachescript_to_evaluate_on_loadr  r  r   s        r   r   r     sF      &F ,}!-+E'(H >Ds   #%c              #  X   K   t               }| j                         |d<   d|d}|}yw)z
    Deprecated, please use removeScriptToEvaluateOnNewDocument instead.

    .. deprecated:: 1.3

    **EXPERIMENTAL**

    :param identifier:
    r  z!Page.removeScriptToEvaluateOnLoadr  NrG   r   r  r  r  r   s       r   !remove_script_to_evaluate_on_loadr    s8      &F%--/F<5H >D   (*c              #  X   K   t               }| j                         |d<   d|d}|}yw)zE
    Removes given script from the list.

    :param identifier:
    r  z(Page.removeScriptToEvaluateOnNewDocumentr  Nr  r  s       r   )remove_script_to_evaluate_on_new_documentr    s8      &F%--/F<<H >Dr  c              #  <   K   t               }| |d<   d|d}|}yw)z
    Acknowledges that a screencast frame has been received by the frontend.

    **EXPERIMENTAL**

    :param session_id: Frame number.
    	sessionIdzPage.screencastFrameAckr  Nr7  )
session_idr  r  r   s       r   screencast_frame_ackr    s/      &F$F;+H >Drk  c              #     K   t               }| j                         |d<   ||d<   ||d<   |||d<   |||d<   d|d}|}|d   D cg c]!  }t        j                  j	                  |      # c}S c c}w w)	a  
    Searches for given string in resource content.

    **EXPERIMENTAL**

    :param frame_id: Frame id for resource to search in.
    :param url: URL of the resource to search in.
    :param query: String to search for.
    :param case_sensitive: *(Optional)* If true, search is case sensitive.
    :param is_regex: *(Optional)* If true, treats string parameter as regex.
    :returns: List of search matches.
    r.  r7   querycaseSensitiveisRegexzPage.searchInResourcer  result)rG   r   r   SearchMatchr   )	r2  r7   r  case_sensitiveis_regexr  r  r   rh   s	            r   search_in_resourcer    s     & &F ((*F9F5MF7O!"0$y)H >D7;H~F!H  **1-FFFs   AA6&A1.A6c              #  <   K   t               }| |d<   d|d}|}yw)z
    Enable Chrome's experimental ad filter on all sites.

    **EXPERIMENTAL**

    :param enabled: Whether to block ads.
    enabledzPage.setAdBlockingEnabledr  Nr7  r  r  r  r   s       r   set_ad_blocking_enabledr    s/      &FF9-H >Drk  c              #  <   K   t               }| |d<   d|d}|}yw)z
    Enable page Content Security Policy by-passing.

    **EXPERIMENTAL**

    :param enabled: Whether to bypass page CSP.
    r  zPage.setBypassCSPr  Nr7  r  s       r   set_bypass_cspr  $  s/      &FF9%H >Drk  c              #    K   t               }| |d<   ||d<   ||d<   ||d<   |||d<   |||d<   |||d<   |||d	<   |||d
<   |	|	|d<   |
|
j                         |d<   ||j                         |d<   d|d}|}yw)a  
    Overrides the values of device screen dimensions (window.screen.width, window.screen.height,
    window.innerWidth, window.innerHeight, and "device-width"/"device-height"-related CSS media
    query results).

    .. deprecated:: 1.3

    **EXPERIMENTAL**

    :param width: Overriding width value in pixels (minimum 0, maximum 10000000). 0 disables the override.
    :param height: Overriding height value in pixels (minimum 0, maximum 10000000). 0 disables the override.
    :param device_scale_factor: Overriding device scale factor value. 0 disables the override.
    :param mobile: Whether to emulate mobile device. This includes viewport meta tag, overlay scrollbars, text autosizing and more.
    :param scale: *(Optional)* Scale to apply to resulting view image.
    :param screen_width: *(Optional)* Overriding screen width value in pixels (minimum 0, maximum 10000000).
    :param screen_height: *(Optional)* Overriding screen height value in pixels (minimum 0, maximum 10000000).
    :param position_x: *(Optional)* Overriding view X position on screen in pixels (minimum 0, maximum 10000000).
    :param position_y: *(Optional)* Overriding view Y position on screen in pixels (minimum 0, maximum 10000000).
    :param dont_set_visible_size: *(Optional)* Do not set visible view size, rely upon explicit setVisibleSize call.
    :param screen_orientation: *(Optional)* Screen orientation override.
    :param viewport: *(Optional)* The viewport dimensions and scale. If not set, the override is cleared.
    r   r   deviceScaleFactormobileNr   screenWidthscreenHeight	positionX	positionYdontSetVisibleSizescreenOrientationviewportzPage.setDeviceMetricsOverrider  r  )r   r   device_scale_factorr  r   screen_widthscreen_height
position_x
position_ydont_set_visible_sizescreen_orientationr  r  r  r   s                  r   set_device_metrics_overrider  7  s     J &FF7OF8"5FF8w ,} !.~({({('<#$%&8&@&@&B"#%--/z1H >Ds   A=A?c              #  P   K   t               }| |d<   ||d<   ||d<   d|d}|}yw)z
    Overrides the Device Orientation.

    .. deprecated:: 1.3

    **EXPERIMENTAL**

    :param alpha: Mock alpha
    :param beta: Mock beta
    :param gamma: Mock gamma
    alphabetagammaz!Page.setDeviceOrientationOverrider  Nr7  )r  r  r  r  r  r   s         r   set_device_orientation_overrider  x  s@     " &FF7OF6NF7O5H >Ds   $&c              #  X   K   t               }| j                         |d<   d|d}|}yw)z
    Set generic font families.

    **EXPERIMENTAL**

    :param font_families: Specifies font families to set. If a font family is not specified, it won't be changed.
    fontFamilieszPage.setFontFamiliesr  Nr  )font_familiesr  r  r   s       r   set_font_familiesr    s8      &F*224F>(H >Dr  c              #  X   K   t               }| j                         |d<   d|d}|}yw)z
    Set default font sizes.

    **EXPERIMENTAL**

    :param font_sizes: Specifies font sizes to set. If a font size is not specified, it won't be changed.
    	fontSizeszPage.setFontSizesr  Nr  )
font_sizesr  r  r   s       r   set_font_sizesr    s8      &F$,,.F;%H >Dr  c              #  b   K   t               }| j                         |d<   ||d<   d|d}|}yw)z
    Sets given markup as the document's HTML.

    :param frame_id: Frame id to set HTML for.
    :param html: HTML content to set.
    r.  htmlzPage.setDocumentContentr  Nr  )r2  r  r  r  r   s        r   set_document_contentr    sA      &F ((*F9F6N+H >Ds   -/c              #  J   K   t               }| |d<   |||d<   d|d}|}yw)aT  
    Set the behavior when downloading a file.

    **EXPERIMENTAL**

    :param behavior: Whether to allow all or deny all download requests, or use default Chrome behavior if available (otherwise deny).
    :param download_path: *(Optional)* The default path to save downloaded files to. This is requred if behavior is set to 'allow'
    behaviorNdownloadPathzPage.setDownloadBehaviorr  r7  )r  download_pathr  r  r   s        r   set_download_behaviorr    s?      &F!F: !.~,H >DrL  c              #  \   K   t               }| | |d<   |||d<   |||d<   d|d}|}yw)a$  
    Overrides the Geolocation Position or Error. Omitting any of the parameters emulates position
    unavailable.

    .. deprecated:: 1.3

    :param latitude: *(Optional)* Mock latitude
    :param longitude: *(Optional)* Mock longitude
    :param accuracy: *(Optional)* Mock accuracy
    Nlatitude	longitudeaccuracyzPage.setGeolocationOverrider  r7  )r  r  r  r  r  r   s         r   set_geolocation_overrider    sU       &F%z'{%z/H >Ds   *,c              #  <   K   t               }| |d<   d|d}|}yw)z
    Controls whether page will emit lifecycle events.

    **EXPERIMENTAL**

    :param enabled: If true, starts emitting lifecycle events.
    r  zPage.setLifecycleEventsEnabledr  Nr7  r  s       r   set_lifecycle_events_enabledr    s/      &FF92H >Drk  c              #  J   K   t               }| |d<   |||d<   d|d}|}yw)a  
    Toggles mouse event-based touch event emulation.

    .. deprecated:: 1.3

    **EXPERIMENTAL**

    :param enabled: Whether the touch event emulation should be enabled.
    :param configuration: *(Optional)* Touch/gesture events configuration. Default: current platform.
    r  NconfigurationzPage.setTouchEmulationEnabledr  r7  )r  r  r  r  r   s        r   set_touch_emulation_enabledr    s?      &FF9 "/1H >DrL  c              #  x   K   t               }| | |d<   |||d<   |||d<   |||d<   |||d<   d|d}|}yw)	a  
    Starts sending each frame using the ``screencastFrame`` event.

    **EXPERIMENTAL**

    :param format_: *(Optional)* Image compression format.
    :param quality: *(Optional)* Compression quality from range [0..100].
    :param max_width: *(Optional)* Maximum screenshot width.
    :param max_height: *(Optional)* Maximum screenshot height.
    :param every_nth_frame: *(Optional)* Send every n-th frame.
    Nr"   r  maxWidth	maxHeighteveryNthFramezPage.startScreencastr  r7  )r"  r  	max_width
max_heightevery_nth_framer  r  r   s           r   start_screencastr  0  su     $ &F"x#y&z({""1(H >Dr  c               #     K   ddi} | }yw)zK
    Force the page stop all navigations and pending resource fetches.
    r  zPage.stopLoadingNr   r  s     r   stop_loadingr  T  s     
 	$H >Dr  c               #     K   ddi} | }yw)zW
    Crashes renderer on the IO thread, generates minidumps.

    **EXPERIMENTAL**
    r  z
Page.crashNr   r  s     r   crashr  ^        	,H >Dr  c               #     K   ddi} | }yw)z\
    Tries to close page, running its beforeunload hooks, if any.

    **EXPERIMENTAL**
    r  z
Page.closeNr   r  s     r   closer  j  r  r  c              #  <   K   t               }| |d<   d|d}|}yw)z
    Tries to update the web lifecycle state of the page.
    It will transition the page to the given state according to:
    https://github.com/WICG/web-lifecycle/

    **EXPERIMENTAL**

    :param state: Target lifecycle state
    statezPage.setWebLifecycleStater  Nr7  )r  r  r  r   s       r   set_web_lifecycle_stater  v  s.      &FF7O-H >Drk  c               #     K   ddi} | }yw)zT
    Stops sending each frame in the ``screencastFrame``.

    **EXPERIMENTAL**
    r  zPage.stopScreencastNr   r  s     r   stop_screencastr    s      	'H >Dr  c              #  <   K   t               }| |d<   d|d}|}yw)z{
    Forces compilation cache to be generated for every subresource script.

    **EXPERIMENTAL**

    :param enabled:
    r  zPage.setProduceCompilationCacher  Nr7  r  s       r   set_produce_compilation_cacher    s/      &FF93H >Drk  c              #  F   K   t               }| |d<   ||d<   d|d}|}yw)z
    Seeds compilation cache for given url. Compilation cache does not survive
    cross-process navigation.

    **EXPERIMENTAL**

    :param url:
    :param data: Base64-encoded data
    r7   r!  zPage.addCompilationCacher  Nr7  )r7   r!  r  r  r   s        r   add_compilation_cacher    s7      &FF5MF6N,H >Dr:  c               #     K   ddi} | }yw)z@
    Clears seeded compilation cache.

    **EXPERIMENTAL**
    r  zPage.clearCompilationCacheNr   r  s     r   clear_compilation_cacher    s      	.H >Dr  c              #  J   K   t               }| |d<   |||d<   d|d}|}yw)z
    Generates a report for testing.

    **EXPERIMENTAL**

    :param message: Message to be displayed in the report.
    :param group: *(Optional)* Specifies the endpoint group to deliver the report to.
    r   NgroupzPage.generateTestReportr  r7  )r   r  r  r  r   s        r   generate_test_reportr    s>      &FF9w+H >DrL  c               #     K   ddi} | }yw)zt
    Pauses page execution. Can be resumed using generic Runtime.runIfWaitingForDebugger.

    **EXPERIMENTAL**
    r  zPage.waitForDebuggerNr   r  s     r   wait_for_debuggerr    s      	(H >Dr  c              #  <   K   t               }| |d<   d|d}|}yw)ad  
    Intercept file chooser requests and transfer control to protocol clients.
    When file chooser interception is enabled, native file chooser dialog is not shown.
    Instead, a protocol event ``Page.fileChooserOpened`` is emitted.
    File chooser can be handled with ``page.handleFileChooser`` command.

    **EXPERIMENTAL**

    :param enabled:
    r  z"Page.setInterceptFileChooserDialogr  Nr7  r  s       r   !set_intercept_file_chooser_dialogr    s/      &FF96H >Drk  c              #  p   K   t               }| |d<   ||D cg c]  }| c}|d<   d|d}|}yc c}w w)z
    Accepts or cancels an intercepted file chooser dialog.

    **EXPERIMENTAL**

    :param action:
    :param files: *(Optional)* Array of absolute file paths to set, only respected with ```accept``` action.
    actionNfileszPage.handleFileChooserr  r7  )r  r   r  rh   r  r   s         r   handle_file_chooserr    sN      &FF8&+,1,w*H >D -s   6	16zPage.domContentEventFiredc                  *    e Zd ZU ded<   edd       Zy)DomContentEventFirednetwork.MonotonicTimer   c                T     | t         j                  j                  |d               S Nr   )r   r   MonotonicTimer   r   s     r   r   zDomContentEventFired.from_json"  (    ++55d;6GH
 	
r   N)r   r   r(   r  r+   r,   r-   rL   r/   r   r   r   r   r  r         %$
 
r   r  zPage.fileChooserOpenedc                  .    e Zd ZU dZded<   edd       Zy)FileChooserOpenedzE
    Emitted only when ``page.interceptFileChooser`` is enabled.
    r)   modec                ,     | t        |d               S )Nr  )r  r   r   s     r   r   zFileChooserOpened.from_json1  s    T&\"
 	
r   N)r   r   r(   r  r+   r,   r-   r.   rL   r/   r   r   r   r   r  r  )  s      I
 
r   r  zPage.frameAttachedc                  B    e Zd ZU dZded<   ded<   ded<   ed	d       Zy)
FrameAttachedz;
    Fired when frame has been attached to its parent.
    r   r2  parent_frame_idz#typing.Optional[runtime.StackTrace]stackc                     | t         j                  |d         t         j                  |d         d|v r't        j                  j                  |d               S d       S )Nr.  parentFrameIdr  )r2  r  r  )r   r   r   
StackTracer   s     r   r   zFrameAttached.from_jsonE  sc    &&tI7#--d?.CDAHD'$$..tG}=
 	
 W[
 	
r   N)r   r   r(   r  r  r   r   r   r  r  8  s-     ..
 
r   r  z$Page.frameClearedScheduledNavigationc                  .    e Zd ZU dZded<   edd       Zy)FrameClearedScheduledNavigationz@
    Fired when frame no longer has a scheduled navigation.
    r   r2  c                @     | t         j                  |d               S Nr.  )r2  r   r   r   s     r   r   z)FrameClearedScheduledNavigation.from_jsonX  !    &&tI7
 	
r   N)r   r   r(   r  r  r   r   r   r  r  N  s!     
 
r   r  zPage.frameDetachedc                  .    e Zd ZU dZded<   edd       Zy)FrameDetachedz=
    Fired when frame has been detached from its parent.
    r   r2  c                @     | t         j                  |d               S r  r  r   s     r   r   zFrameDetached.from_jsonh  r  r   N)r   r   r(   r  r  r   r   r   r  r  _  s!     
 
r   r  zPage.frameNavigatedc                  .    e Zd ZU dZded<   edd       Zy)FrameNavigatedzh
    Fired once navigation of the frame has completed. Frame is now associated with the new loader.
    r3   rb   c                @     | t         j                  |d               S )Nrb   )rb   )r3   r   r   s     r   r   zFrameNavigated.from_jsonx  s    //$w-0
 	
r   N)r   r   r(   r"  r  r   r   r   r"  r"  o  s      L
 
r   r"  zPage.frameResizedc                  "    e Zd ZdZedd       Zy)FrameResizedz
    **EXPERIMENTAL**


    c                     |        S r   r   r   s     r   r   zFrameResized.from_json       
 	
r   N)r   r   r(   r%  r+   r,   r-   r.   r/   r   r   r   r   r%  r%    s     
 
r   r%  zPage.frameRequestedNavigationc                  B    e Zd ZU dZded<   ded<   ded<   ed
d       Zy	)FrameRequestedNavigationz
    **EXPERIMENTAL**

    Fired when a renderer-initiated navigation is requested.
    Navigation may still be cancelled after the event is issued.
    r   r2  r   reasonr)   r7   c                     | t         j                  |d         t        j                  |d         t        |d               S )Nr.  r+  r7   )r2  r+  r7   )r   r   r   r)   r   s     r   r   z"FrameRequestedNavigation.from_json  s?    &&tI7)33DNCDK 
 	
r   N)r   r   r(   r*  r  r   r   r   r*  r*    s,     ""	H
 
r   r*  zPage.frameScheduledNavigationc                  L    e Zd ZU dZded<   ded<   ded<   ded<   edd	       Zy
)FrameScheduledNavigationz<
    Fired when frame schedules a potential navigation.
    r   r2  r^   delayr)   r+  r7   c           	          | t         j                  |d         t        |d         t        |d         t        |d               S )Nr.  r/  r+  r7   )r2  r/  r+  r7   )r   r   r^   r)   r   s     r   r   z"FrameScheduledNavigation.from_json  sE    &&tI7W&tH~&DK 	
 	
r   N)r   r   r(   r.  r  r   r   r   r.  r.    s2      LK	H
 
r   r.  zPage.frameStartedLoadingc                  .    e Zd ZU dZded<   edd       Zy)FrameStartedLoadingzE
    **EXPERIMENTAL**

    Fired when frame has started loading.
    r   r2  c                @     | t         j                  |d               S r  r  r   s     r   r   zFrameStartedLoading.from_json  r  r   N)r   r   r(   r2  r  r   r   r   r2  r2    !     
 
r   r2  zPage.frameStoppedLoadingc                  .    e Zd ZU dZded<   edd       Zy)FrameStoppedLoadingzE
    **EXPERIMENTAL**

    Fired when frame has stopped loading.
    r   r2  c                @     | t         j                  |d               S r  r  r   s     r   r   zFrameStoppedLoading.from_json  r  r   N)r   r   r(   r6  r  r   r   r   r6  r6    r4  r   r6  zPage.downloadWillBeginc                  8    e Zd ZU dZded<   ded<   edd       Zy)	DownloadWillBeginzM
    **EXPERIMENTAL**

    Fired when page is about to start a download.
    r   r2  r)   r7   c                Z     | t         j                  |d         t        |d               S Nr.  r7   )r2  r7   r   r   r)   r   s     r   r   zDownloadWillBegin.from_json  -    &&tI7DK 
 	
r   N)r   r   r(   r9  r  r   r   r   r9  r9    &     	H
 
r   r9  zPage.interstitialHiddenc                  "    e Zd ZdZedd       Zy)InterstitialHiddenz1
    Fired when interstitial page was hidden
    c                     |        S r   r   r   s     r   r   zInterstitialHidden.from_json  r'  r   N)r   r   r(   r@  r(  r   r   r   r@  r@        
 
 
r   r@  zPage.interstitialShownc                  "    e Zd ZdZedd       Zy)InterstitialShownz0
    Fired when interstitial page was shown
    c                     |        S r   r   r   s     r   r   zInterstitialShown.from_json  r'  r   N)r   r   r(   rD  r(  r   r   r   rD  rD    rB  r   rD  zPage.javascriptDialogClosedc                  8    e Zd ZU dZded<   ded<   edd       Zy)	JavascriptDialogClosedzs
    Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) has been
    closed.
    r_   r  r)   
user_inputc                F     | t        |d         t        |d               S )Nr  	userInput)r  rH  )r_   r)   r   s     r   r   z JavascriptDialogClosed.from_json'  s(    X'4,-
 	
r   N)r   r   r(   rG  r  r   r   r   rG  rG    s%    
 LO
 
r   rG  zPage.javascriptDialogOpeningc                  V    e Zd ZU dZded<   ded<   ded<   ded<   d	ed
<   edd       Zy)JavascriptDialogOpeningzt
    Fired when a JavaScript initiated dialog (alert, confirm, prompt, or onbeforeunload) is about to
    open.
    r)   r7   r   r   rO   r_   has_browser_handlerr:   default_promptc           
          | t        |d         t        |d         t        j                  |d         t        |d         d|v rt        |d               S d       S )Nr7   r   rX   hasBrowserHandlerdefaultPrompt)r7   r   rO   rM  rN  )r)   r   r   r_   r   s     r   r   z!JavascriptDialogOpening.from_jsonC  sl    DK Y(&&tF|4 $T*=%> ?9HD9P3tO45
 	

 W[
 	
r   N)r   r   r(   rL  r  r   r   r   rL  rL  /  s9    
 
HL ((
 
r   rL  zPage.lifecycleEventc                  L    e Zd ZU dZded<   ded<   ded<   ded	<   edd
       Zy)LifecycleEventzY
    Fired for top level page lifecycle events such as navigation, load, paint, etc.
    r   r2  r5   r6   r)   r<   r  r   c           	          | t         j                  |d         t        j                  j                  |d         t	        |d         t        j
                  j                  |d               S )Nr.  rA   r<   r   )r2  r6   r<   r   )r   r   r   rJ   r)   r  r   s     r   r   zLifecycleEvent.from_json[  s_    &&tI7&&00j1ABT&\"++55d;6GH	
 	
r   N)r   r   r(   rS  r  r   r   r   rS  rS  N  s2     
I$$
 
r   rS  zPage.loadEventFiredc                  *    e Zd ZU ded<   edd       Zy)LoadEventFiredr  r   c                T     | t         j                  j                  |d               S r  r  r   s     r   r   zLoadEventFired.from_jsonj  r	  r   N)r   r   r(   rV  r
  r   r   r   rV  rV  e  r  r   rV  zPage.navigatedWithinDocumentc                  8    e Zd ZU dZded<   ded<   edd       Zy)	NavigatedWithinDocumentz
    **EXPERIMENTAL**

    Fired when same-document navigation happens, e.g. due to history API usage or anchor navigation.
    r   r2  r)   r7   c                Z     | t         j                  |d         t        |d               S r;  r<  r   s     r   r   z!NavigatedWithinDocument.from_json~  r=  r   N)r   r   r(   rY  r  r   r   r   rY  rY  q  r>  r   rY  zPage.screencastFramec                  B    e Zd ZU dZded<   ded<   ded<   ed
d       Zy	)ScreencastFramez[
    **EXPERIMENTAL**

    Compressed image data requested by the ``startScreencast``.
    r)   r!  r   metadatar   r  c                t     | t        |d         t        j                  |d         t        |d               S )Nr!  r]  r  )r!  r]  r  )r)   r   r   r   r   s     r   r   zScreencastFrame.from_json  s;    T&\",66tJ7GH4,-
 	
r   N)r   r   r(   r\  r  r   r   r   r\  r\    s+     I%%O
 
r   r\  z Page.screencastVisibilityChangedc                  .    e Zd ZU dZded<   edd       Zy)ScreencastVisibilityChangedzk
    **EXPERIMENTAL**

    Fired when the page with currently enabled screencast was shown or hidden .
    r_   visiblec                ,     | t        |d               S )Nra  )ra  )r_   r   s     r   r   z%ScreencastVisibilityChanged.from_json  s    i)
 	
r   N)r   r   r(   r`  r  r   r   r   r`  r`    s      M
 
r   r`  zPage.windowOpenc                  L    e Zd ZU dZded<   ded<   ded<   ded<   edd	       Zy
)
WindowOpenzq
    Fired when a new window is going to be opened, via window.open(), link click, form submission,
    etc.
    r)   r7   window_nameztyping.List[str]window_featuresr_   user_gesturec           
          | t        |d         t        |d         |d   D cg c]  }t        |       c}t        |d               S c c}w )Nr7   
windowNamewindowFeaturesuserGesture)r7   re  rf  rg  )r)   r_   rj   s      r   r   zWindowOpen.from_json  sS    DK D./-12B-CDSVDd=12	
 	
 Es   AN)r   r   r(   rd  r  r   r   r   rd  rd    s2    
 
H%%
 
r   rd  zPage.compilationCacheProducedc                  8    e Zd ZU dZded<   ded<   edd       Zy)CompilationCacheProducedz
    **EXPERIMENTAL**

    Issued for every compilation cache generated. Is only available
    if Page.setGenerateCompilationCache is enabled.
    r)   r7   r!  c                F     | t        |d         t        |d               S )Nr7   r!  )r7   r!  r   r   s     r   r   z"CompilationCacheProduced.from_json  s'    DK T&\"
 	
r   N)r   r   r(   rm  r  r   r   r   rm  rm    s%     
H
I
 
r   rm  )r  r)   r(   <typing.Generator[T_JSON_DICT, T_JSON_DICT, ScriptIdentifier]r   )r  r)   r  r:   r(   ro  )r(   0typing.Generator[T_JSON_DICT, T_JSON_DICT, None])NNNN)
r"  r:   r  r   r  typing.Optional[Viewport]r#  rT   r(   /typing.Generator[T_JSON_DICT, T_JSON_DICT, str])r"  r:   r(   rr  )NN)r2  r   r  r:   r3  rT   r(   zFtyping.Generator[T_JSON_DICT, T_JSON_DICT, runtime.ExecutionContextId])r8  r)   r7   r)   r(   rp  )r(   zrtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[str, typing.List[AppManifestError], typing.Optional[str]]])r(   z<typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[str]])r(   zGtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[network.Cookie]])r(   z5typing.Generator[T_JSON_DICT, T_JSON_DICT, FrameTree])r(   zbtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[LayoutViewport, VisualViewport, dom.Rect]])r(   z[typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[int, typing.List[NavigationEntry]]])r2  r   r7   r)   r(   zCtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[str, bool]])r(   z=typing.Generator[T_JSON_DICT, T_JSON_DICT, FrameResourceTree])r_  r_   ra  r:   r(   rp  )NNN)
r7   r)   rd  r:   r   ztyping.Optional[TransitionType]r2  ztyping.Optional[FrameId]r(   zztyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[FrameId, typing.Optional[network.LoaderId], typing.Optional[str]]])ri  r   r(   rp  )NNNNNNNNNNNNNNNN)"rm  rT   r~  rT   r  rT   r   rR   r  rR   r  rR   r  rR   r  rR   r  rR   r  rR   r  r:   r  rT   r  r:   r  r:   r  rT   r  r:   r(   z_typing.Generator[T_JSON_DICT, T_JSON_DICT, typing.Tuple[str, typing.Optional[io.StreamHandle]]])r  rT   r  r:   r(   rp  )r  rq   r(   rp  )r  r   r(   rp  )r2  r   r7   r)   r  r)   r  rT   r  rT   r(   zMtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[debugger.SearchMatch]])r  r_   r(   rp  )NNNNNNNN)r   r   r   r   r  r^   r  r_   r   rR   r  r   r  r   r  r   r  r   r  rT   r  z,typing.Optional[emulation.ScreenOrientation]r  rq  r(   rp  )r  r^   r  r^   r  r^   r(   rp  )r  r   r(   rp  )r  r   r(   rp  )r2  r   r  r)   r(   rp  )r  r)   r  r:   r(   rp  )r  rR   r  rR   r  rR   r(   rp  )r  r_   r  r:   r(   rp  )NNNNN)r"  r:   r  r   r  r   r  r   r  r   r(   rp  )r  r)   r(   rp  )r7   r)   r!  r)   r(   rp  )r   r)   r  r:   r(   rp  )r  r)   r   z!typing.Optional[typing.List[str]]r(   rp  )r
__future__r   cdp.utilr   r   dataclassesr   enumtyping r   r	   r
   r   r   r   deprecated.sphinxr   r)   r   r3   rN   ra   rm   rq   Enumrv   r   r   r   r   r   r   r   r   r   r   r  r  r  r$  r&  r(  r*  r,  r4  r9  r<  r>  rB  rD  rH  rK  rQ  rU  rW  r[  r]  rb  rf  rj  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  r  r  r  r  r  r  r"  r%  r*  r.  r2  r6  r9  r@  rD  rG  rL  rS  rV  rY  r\  r`  rd  rm  r   r   r   <module>r{     sp   # - !         (8c 8 <
 <
 <
~ 2
 2
 2
j 
 
 
< 
 
 
2As ATYY 4 $
 $
 $
N /
 /
 /
d " 
 
 
D 
 
 
D 4
 4
 4
n $
 $
 $
N 5
 5
 5
p 
 
 
4TYY " E::	C: :2 ,0::(: 
D:. )-(,*..2	%% ( ,	
 
7B )-%	6. E  E  E	 	 ,07;LL(L  5L 
N	L6 E 
8 0*, EB B$
2*& 
K<:" -1) 
8. *.;?-1	$$&$ 9$ +	$
 
B$N	7$ ,07;26(,.2/3-104.2/3,0<@04046:.2!S(S4S 0S &	S
 ,S -S +S .S ,S -S *S %:S .S .S 4S  ,!S" 
g#Sn /3;?+$8 
8, E$	7 *$	7"	7. 15*. G G G  G .	 G
 ( G 
U GF	7&	7& E )--1.2+/+/7;KO.2=== #= 	=
 &= += ,= )= )=  5= I= ,= 
8= =@ E  
8	 6#	7&	7& 
8, /3+ 
8. E+/,0+/() ) 
8	 :	7& E /3+ 
8 4 )-(,*.+/04!%!%! (! )	!
 .! 
8!H			7*		7& 
8.	 '+# 
8.		70 480 
8. ()

 
  *
 %&


 

  '

 !"

 
  #
( E34

 
  5 
 !"

 
  #
 "#

 
  $
  !

 
  "
 ,-

 
  .
. E,-

 
  . 
0 '(

 
  )
  '(

 
  )
  %&

 
  '
& &'


 

  (

 %&


 

  '

 *+

 
  ,
$ +,

 
  -
: "#

 
  $
* "#

 
  $
 +,

 
  -
& #$

 
  %
, /0

 
  1
  

 
   
0 ,-

 
  .
r   