
     f`                    &   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 e G d	 d
                      Ze G d d                      Z G d dej                  Ze G d d                      Z G d dej                  Zd[dZd[dZ	 	 	 	 d\d]d Zd[d!Z	 	 d^d_d'Z	 	 	 	 d\d`d0Z	 	 d^dad5Z	 	 d^dbd;Z	 dcddd>ZdedAZ	 dcdfdCZdedDZdedEZdgdGZ dgdHZ!dedIZ"dedJZ#dedKZ$	 dcdhdNZ% edO          e G dP dQ                                  Z& edR          e G dS dT                                  Z' edU          e G dV dW                                  Z( edX          e G dY dZ                                  Z)dS )i    )annotations   )event_classT_JSON_DICT)	dataclassN)dom)page)runtimec                      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Zded<   dZded<   dZded<   dZded<   d Zed             ZdS )GridHighlightConfigzC
    Configuration data for the highlighting of Grid elements.
    Ntyping.Optional[bool]show_grid_extension_linesshow_positive_line_numbersshow_negative_line_numberstyping.Optional[dom.RGBA]grid_border_colorcell_border_colorgrid_border_dashcell_border_dashrow_gap_colorrow_hatch_colorcolumn_gap_colorcolumn_hatch_colorc                p   t                      }| j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        
| j        |d<   | j        
| j        |d<   | j	        | j	                                        |d<   | j
        | j
                                        |d	<   | j        | j                                        |d
<   | j        | j                                        |d<   |S )NshowGridExtensionLinesshowPositiveLineNumbersshowNegativeLineNumbersgridBorderColorcellBorderColorgridBorderDashcellBorderDashrowGapColorrowHatchColorcolumnGapColorcolumnHatchColor)dictr   r   r   r   to_jsonr   r   r   r   r   r   r   selfjsons     q/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v85/overlay.pyr'   zGridHighlightConfig.to_json7   sS   vv)5-1-KD)**6.2.MD*+*6.2.MD*+!-&*&<&D&D&F&FD"#!-&*&<&D&D&F&FD"# ,%)%:D!" ,%)%:D!")"&"4"<"<">">D+$($8$@$@$B$BD! ,%)%:%B%B%D%DD!"".'+'>'F'F'H'HD#$    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          j                            |d                   nd d|v r%t          j                            |d                   nd d|v rt          |d                   nd d|v rt          |d                   nd d|v r%t          j                            |d                   nd d	|v r%t          j                            |d	                   nd d
|v r%t          j                            |d
                   nd d|v r%t          j                            |d                   nd           S )Nr   r   r   r   r   r    r!   r"   r#   r$   r%   )r   r   r   r   r   r   r   r   r   r   r   )boolr   RGBA	from_jsonclsr*   s     r+   r0   zGridHighlightConfig.from_jsonQ   s   sNfjnNnNnd40H+I&J&J&JtxPimqPqPqtD1J,K'L'L'Lw{PimqPqPqtD1J,K'L'L'Lw{M^bfMfMfch006G1HIIIlpM^bfMfMfch006G1HIIIlp=MQU=U=UT$'7"8999[_=MQU=U=UT$'7"8999[_ERVZEZEZ#(,,T--@AAA`dIX\`I`I`CH..tO/DEEEfjK[_cKcKcSX//5E0FGGGimOaeiOiOisx11$7I2JKKKos
 
 
 	
r,   )__name__
__module____qualname____doc__r   __annotations__r   r   r   r   r   r   r   r   r   r   r'   classmethodr0    r,   r+   r   r      s$          8<;;;; 9=<<<< 9=<<<< 487777 487777 /32222 /32222 04M3333 26O5555 376666 598888  4 
 
 [
 
 
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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Zded<   d Zed             ZdS )HighlightConfigzC
    Configuration data for the highlighting of page elements.
    Nr   	show_infoshow_stylesshow_rulersshow_accessibility_infoshow_extension_linesr   content_colorpadding_colorborder_colormargin_colorevent_target_colorshape_colorshape_margin_colorcss_grid_colortyping.Optional[ColorFormat]color_formatz$typing.Optional[GridHighlightConfig]grid_highlight_configc                   t                      }| j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        
| j        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j	        | j	                                        |d<   | j
        | j
                                        |d	<   | j        | j                                        |d
<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )NshowInfo
showStyles
showRulersshowAccessibilityInfoshowExtensionLinescontentColorpaddingColorborderColormarginColoreventTargetColor
shapeColorshapeMarginColorcssGridColorcolorFormatgridHighlightConfig)r&   r<   r=   r>   r?   r@   rA   r'   rB   rC   rD   rE   rF   rG   rH   rJ   rK   r(   s     r+   r'   zHighlightConfig.to_json   s   vv>%#~D'!%!1D'!%!1D'3,0,HD()$0)-)BD%&)#'#5#=#=#?#?D )#'#5#=#=#?#?D ("&"3";";"="=D("&"3";";"="=D".'+'>'F'F'H'HD#$'!%!1!9!9!;!;D".'+'>'F'F'H'HD#$*#'#6#>#>#@#@D ("&"3";";"="=D%1*.*D*L*L*N*ND&'r,   c                P    | 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          j                            |d                   nd d|v r%t          j                            |d                   nd d|v r%t          j                            |d                   nd d	|v r%t          j                            |d	                   nd d
|v r%t          j                            |d
                   nd d|v r%t          j                            |d                   nd d|v r%t          j                            |d                   nd d|v r%t          j                            |d                   nd d|v r t                              |d                   nd d|v r t
                              |d                   nd           S )NrM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   )r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rJ   rK   )r.   r   r/   r0   ColorFormatr   r1   s     r+   r0   zHighlightConfig.from_json   sZ   s0:d0B0Bd4
+,,,4@D4H4HT,/000d4@D4H4HT,/000dKbfjKjKjD.E)F$G$G$GptEY]aEaEad+?&@!A!A!AgkFTX\F\F\#(,,T.-ABBBbfFTX\F\F\#(,,T.-ABBBbfDQUYDYDY++D,?@@@_cDQUYDYDY++D,?@@@_cOaeiOiOisx11$7I2JKKKosBNRVBVBV**4+=>>>\`OaeiOiOisx11$7I2JKKKosGUY]G]G]38--d>.BCCCcgGTX\G\G\..tM/BCCCbf`uy}`}`}"5"?"?EZ@["\"\"\  DH
 
 
 	
r,   )r3   r4   r5   r6   r<   r7   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rJ   rK   r'   r8   r0   r9   r,   r+   r;   r;   b   so          (,I++++ *.K---- *.K---- 6:9999 376666 04M3333 04M3333 /3L2222 /3L2222 598888 .2K1111 598888 15N4444 26L5555 CGFFFF     D 
 
 [
 
 
r,   r;   c                  6    e Zd ZdZdZdZd Zed             ZdS )r]   rgbhslhexc                    | j         S Nvaluer)   s    r+   r'   zColorFormat.to_json   
    zr,   c                     | |          S rc   r9   r1   s     r+   r0   zColorFormat.from_json       s4yyr,   N)	r3   r4   r5   RGBHSLHEX_r'   r8   r0   r9   r,   r+   r]   r]      sM        
C
CD     [  r,   r]   c                  V    e Zd ZU dZded<   dZded<   dZded<   d Zed	             Z	dS )
HingeConfigz-
    Configuration for dual screen hinge
    zdom.RectrectNr   rA   outline_colorc                    t                      }| j                                        |d<   | j        | j                                        |d<   | j        | j                                        |d<   |S )Nro   rR   outlineColor)r&   ro   r'   rA   rp   r(   s     r+   r'   zHingeConfig.to_json   sk    vvy((**V)#'#5#=#=#?#?D )#'#5#=#=#?#?D r,   c                    | t           j                            |d                   d|v r%t           j                            |d                   nd d|v r%t           j                            |d                   nd           S )Nro   rR   rr   )ro   rA   rp   )r   Rectr0   r/   r1   s     r+   r0   zHingeConfig.from_json   s    s##DL11FTX\F\F\#(,,T.-ABBBbfFTX\F\F\#(,,T.-ABBBbf
 
 
 	
r,   )
r3   r4   r5   r6   r7   rA   rp   r'   r8   r0   r9   r,   r+   rn   rn      s{           NNN 04M3333 04M3333   
 
 [
 
 
r,   rn   c                  >    e Zd ZdZdZdZdZdZd Ze	d             Z
dS )	InspectModesearchForNodesearchForUAShadowDOMcaptureAreaScreenshotshowDistancesnonec                    | j         S rc   rd   rf   s    r+   r'   zInspectMode.to_json   rg   r,   c                     | |          S rc   r9   r1   s     r+   r0   zInspectMode.from_json  ri   r,   N)r3   r4   r5   SEARCH_FOR_NODESEARCH_FOR_UA_SHADOW_DOMCAPTURE_AREA_SCREENSHOTSHOW_DISTANCESNONEr'   r8   r0   r9   r,   r+   rv   rv      sY        %O55$ND     [  r,   rv   return0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c               #     K   ddi} | V }dS )z(
    Disables domain notifications.
    methodzOverlay.disableNr9   cmd_dictr*   s     r+   disabler     s$      
 	#H >>DDDr,   c               #     K   ddi} | V }dS )z'
    Enables domain notifications.
    r   zOverlay.enableNr9   r   s     r+   enabler     s$      
 	"H >>DDDr,   node_id
dom.NodeIdinclude_distancer   include_stylerJ   rI   r?   0typing.Generator[T_JSON_DICT, T_JSON_DICT, dict]c              #     K   t                      }|                                 |d<   |||d<   |||d<   ||                                |d<   |||d<   d|d}|V }t          |d	                   S )
a  
    For testing.

    :param node_id: Id of the node to get highlight object for.
    :param include_distance: *(Optional)* Whether to include distance info.
    :param include_style: *(Optional)* Whether to include style info.
    :param color_format: *(Optional)* The color format to get config with (default: hex).
    :param show_accessibility_info: *(Optional)* Whether to show accessibility info (default: true).
    :returns: Highlight data for the node.
    nodeIdNincludeDistanceincludeStylerZ   rP   z!Overlay.getHighlightObjectForTestr   params	highlightr&   r'   )r   r   r   rJ   r?   r   r   r*   s           r+   get_highlight_object_for_testr     s      " &&F((F8#$4 ! !.~ , 4 4 6 6}**A&'5 H >>D[!"""r,   c               #     K   ddi} | V }dS )z
    Hides any highlight.
    r   zOverlay.hideHighlightNr9   r   s     r+   hide_highlightr   >  s$      
 	)H >>DDDr,   frame_idpage.FrameIdrA   r   content_outline_colorc              #     K   t                      }|                                 |d<   ||                                |d<   ||                                |d<   d|d}|V }dS )aM  
    Highlights owner element of the frame with given id.

    :param frame_id: Identifier of the frame to highlight.
    :param content_color: *(Optional)* The content box highlight fill color (default: transparent).
    :param content_outline_color: *(Optional)* The content box highlight outline color (default: transparent).
    frameIdNrR   contentOutlineColorzOverlay.highlightFramer   r   )r   rA   r   r   r   r*   s         r+   highlight_framer   H  s       &&F ((**F9 !.!6!6!8!8~((=(E(E(G(G$%* H >>DDDr,   highlight_configtyping.Optional[dom.NodeId]backend_node_id"typing.Optional[dom.BackendNodeId]	object_id'typing.Optional[runtime.RemoteObjectId]selectortyping.Optional[str]c              #  
  K   t                      }|                                 |d<   ||                                |d<   ||                                |d<   ||                                |d<   |||d<   d|d}|V }dS )	a  
    Highlights DOM node with given id or with the given JavaScript object wrapper. Either nodeId or
    objectId must be specified.

    :param highlight_config: A descriptor for the highlight appearance.
    :param node_id: *(Optional)* Identifier of the node to highlight.
    :param backend_node_id: *(Optional)* Identifier of the backend node to highlight.
    :param object_id: *(Optional)* JavaScript object id of the node to be highlighted.
    :param selector: *(Optional)* Selectors to highlight relevant nodes.
    highlightConfigNr   backendNodeIdobjectIdr   zOverlay.highlightNoder   r   )r   r   r   r   r   r   r   r*   s           r+   highlight_noder   a  s      " &&F 0 8 8 : :F"??,,x""1"9"9";";&..00z%z) H >>DDDr,   quaddom.Quadcolorrp   c              #     K   t                      }|                                 |d<   ||                                |d<   ||                                |d<   d|d}|V }dS )a1  
    Highlights given quad. Coordinates are absolute with respect to the main frame viewport.

    :param quad: Quad to highlight
    :param color: *(Optional)* The highlight fill color (default: transparent).
    :param outline_color: *(Optional)* The highlight outline color (default: transparent).
    r   Nr   rr   zOverlay.highlightQuadr   r   )r   r   rp   r   r   r*   s         r+   highlight_quadr     sv       &&F\\^^F6N--//w !.!6!6!8!8~) H >>DDDr,   xintywidthheightc              #     K   t                      }| |d<   ||d<   ||d<   ||d<   ||                                |d<   ||                                |d<   d|d	}|V }dS )
a  
    Highlights given rectangle. Coordinates are absolute with respect to the main frame viewport.

    :param x: X coordinate
    :param y: Y coordinate
    :param width: Rectangle width
    :param height: Rectangle height
    :param color: *(Optional)* The highlight fill color (default: transparent).
    :param outline_color: *(Optional)* The highlight outline color (default: transparent).
    r   r   r   r   Nr   rr   zOverlay.highlightRectr   r   )	r   r   r   r   r   rp   r   r   r*   s	            r+   highlight_rectr     s      $ &&FF3KF3KF7OF8--//w !.!6!6!8!8~) H >>DDDr,   mode typing.Optional[HighlightConfig]c              #     K   t                      }|                                 |d<   ||                                |d<   d|d}|V }dS )av  
    Enters the 'inspect' mode. In this mode, elements that user is hovering over are highlighted.
    Backend then generates 'inspectNodeRequested' event upon element selection.

    :param mode: Set an inspection mode.
    :param highlight_config: *(Optional)* A descriptor for the highlight appearance of hovered-over nodes. May be omitted if ```enabled == false```.
    r   Nr   zOverlay.setInspectModer   r   )r   r   r   r   r*   s        r+   set_inspect_moder     s`       &&F\\^^F6N#$4$<$<$>$> !* H >>DDDr,   showr.   c              #  B   K   t                      }| |d<   d|d}|V }dS )zu
    Highlights owner element of all frames detected to be ads.

    :param show: True for showing ad highlights
    r   zOverlay.setShowAdHighlightsr   Nr&   r   r   r   r*   s       r+   set_show_ad_highlightsr     ;       &&FF6N/ H >>DDDr,   messagec              #  F   K   t                      }| | |d<   d|d}|V }dS )zk
    :param message: *(Optional)* The message to display, also triggers resume and step over controls.
    Nr   z"Overlay.setPausedInDebuggerMessager   r   )r   r   r   r*   s       r+   set_paused_in_debugger_messager     sB       &&F#y6 H >>DDDr,   c              #  B   K   t                      }| |d<   d|d}|V }dS )zn
    Requests that backend shows debug borders on layers

    :param show: True for showing debug borders
    r   zOverlay.setShowDebugBordersr   Nr   r   s       r+   set_show_debug_bordersr     r   r,   c              #  B   K   t                      }| |d<   d|d}|V }dS )zh
    Requests that backend shows the FPS counter

    :param show: True for showing the FPS counter
    r   zOverlay.setShowFPSCounterr   Nr   r   s       r+   set_show_fps_counterr     s;       &&FF6N- H >>DDDr,   resultc              #  B   K   t                      }| |d<   d|d}|V }dS )zl
    Requests that backend shows paint rectangles

    :param result: True for showing paint rectangles
    r   zOverlay.setShowPaintRectsr   Nr   r   r   r   r*   s       r+   set_show_paint_rectsr     s<       &&FF8- H >>DDDr,   c              #  B   K   t                      }| |d<   d|d}|V }dS )zt
    Requests that backend shows layout shift regions

    :param result: True for showing layout shift regions
    r   z!Overlay.setShowLayoutShiftRegionsr   Nr   r   s       r+   set_show_layout_shift_regionsr   (  s<       &&FF85 H >>DDDr,   c              #  B   K   t                      }| |d<   d|d}|V }dS )zx
    Requests that backend shows scroll bottleneck rects

    :param show: True for showing scroll bottleneck rects
    r   z$Overlay.setShowScrollBottleneckRectsr   Nr   r   s       r+    set_show_scroll_bottleneck_rectsr   9  s;       &&FF6N8 H >>DDDr,   c              #  B   K   t                      }| |d<   d|d}|V }dS )zt
    Requests that backend shows hit-test borders on layers

    :param show: True for showing hit-test borders
    r   zOverlay.setShowHitTestBordersr   Nr   r   s       r+   set_show_hit_test_bordersr   J  s;       &&FF6N1 H >>DDDr,   c              #  B   K   t                      }| |d<   d|d}|V }dS )zf
    Paints viewport size upon main frame resize.

    :param show: Whether to paint size or not.
    r   z#Overlay.setShowViewportSizeOnResizer   Nr   r   s       r+    set_show_viewport_size_on_resizer   [  s;       &&FF6N7 H >>DDDr,   hinge_configtyping.Optional[HingeConfig]c              #  j   K   t                      }| |                                 |d<   d|d}|V }dS )zp
    Add a dual screen device hinge

    :param hinge_config: *(Optional)* hinge data, null means hideHinge
    NhingeConfigzOverlay.setShowHinger   r   )r   r   r   r*   s       r+   set_show_hinger   l  sN       &&F , 4 4 6 6}( H >>DDDr,   zOverlay.inspectNodeRequestedc                  6    e Zd ZU dZded<   ed	d            ZdS )
InspectNodeRequestedz
    Fired when the node should be inspected. This happens after call to ``setInspectMode`` or when
    user manually inspects an element.
    zdom.BackendNodeIdr   r*   r   r   c                `     | t           j                            |d                             S )Nr   )r   )r   BackendNodeIdr0   r1   s     r+   r0   zInspectNodeRequested.from_json  s4    s-77_8MNN
 
 
 	
r,   N)r*   r   r   r   r3   r4   r5   r6   r7   r8   r0   r9   r,   r+   r   r   ~  sL          
 '&&&
 
 
 [
 
 
r,   r   zOverlay.nodeHighlightRequestedc                  6    e Zd ZU dZded<   ed	d            ZdS )
NodeHighlightRequestedzc
    Fired when the node should be highlighted. This happens after call to ``setInspectMode``.
    r   r   r*   r   r   c                `     | t           j                            |d                             S )Nr   )r   )r   NodeIdr0   r1   s     r+   r0   z NodeHighlightRequested.from_json  s2    sJ((h88
 
 
 	
r,   N)r*   r   r   r   r   r9   r,   r+   r   r     sL           
 
 
 [
 
 
r,   r   zOverlay.screenshotRequestedc                  6    e Zd ZU dZded<   ed	d            ZdS )
ScreenshotRequestedzN
    Fired when user asks to capture screenshot of some area on the page.
    zpage.Viewportviewportr*   r   r   c                `     | t           j                            |d                             S )Nr   )r   )r	   Viewportr0   r1   s     r+   r0   zScreenshotRequested.from_json  s3    s],,T*-=>>
 
 
 	
r,   N)r*   r   r   r   r   r9   r,   r+   r   r     sL           
 
 
 [
 
 
r,   r   zOverlay.inspectModeCanceledc                  *    e Zd ZdZedd            ZdS )InspectModeCanceledz3
    Fired when user cancels the inspect mode.
    r*   r   r   c                     |             S rc   r9   r1   s     r+   r0   zInspectModeCanceled.from_json  s    s 
 
 	
r,   N)r*   r   r   r   )r3   r4   r5   r6   r8   r0   r9   r,   r+   r   r     s>         
 
 
 
 [
 
 
r,   r   )r   r   )NNNN)r   r   r   r   r   r   rJ   rI   r?   r   r   r   )NN)r   r   rA   r   r   r   r   r   )r   r;   r   r   r   r   r   r   r   r   r   r   )r   r   r   r   rp   r   r   r   )r   r   r   r   r   r   r   r   r   r   rp   r   r   r   rc   )r   rv   r   r   r   r   )r   r.   r   r   )r   r   r   r   )r   r.   r   r   )r   r   r   r   )*
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r
   r   r;   Enumr]   rn   rv   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r9   r,   r+   <module>r      s   # " " " " " * * * * * * * * ! ! ! ! ! !                     M
 M
 M
 M
 M
 M
 M
 M
` e
 e
 e
 e
 e
 e
 e
 e
P
 
 
 
 
$) 
 
 
 
 
 
 
 
 
 
 
>    $)          37/3599= #  #  #  #  #F    48;?    6 04>B=A)-    H ,037    < ,037    H >B    ,   $ )-        "   "   "   "   "   "   $ 6:    $ +,,

 
 
 
 
 
 
  -,
 -..


 

 

 

 

 

 

  /.

 *++

 
 
 
 
 
 
  ,+
 *++


 

 

 

 

 

 

  ,+

 

 

r,   