
     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  G d d	ej                  Ze G d
 d                      Z	 	 d&d'dZd(dZ	 d)d*dZd+dZd,d!Zd(d"Z	 d)d*d#Zd+d$Zd,d%ZdS )-    )annotations   )event_classT_JSON_DICT)	dataclassN)dom)runtimec                  :    e Zd ZdZdZdZdZd Zed             Z	dS )DOMBreakpointTypez
    DOM breakpoint type.
    zsubtree-modifiedzattribute-modifiedznode-removedc                    | j         S N)value)selfs    v/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v85/dom_debugger.pyto_jsonzDOMBreakpointType.to_json   s
    z    c                     | |          S r    clsjsons     r   	from_jsonzDOMBreakpointType.from_json   s    s4yyr   N)
__name__
__module____qualname____doc__SUBTREE_MODIFIEDATTRIBUTE_MODIFIEDNODE_REMOVEDr   classmethodr   r   r   r   r   r      s[          *-!L     [  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Zded<   dZded<   d Ze	d             Z
dS )EventListenerz 
    Object event listener.
    strtype_booluse_capturepassiveoncezruntime.ScriptId	script_idintline_numbercolumn_numberNz%typing.Optional[runtime.RemoteObject]handleroriginal_handlerz"typing.Optional[dom.BackendNodeId]backend_node_idc                   t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   | j                                        |d<   | j        |d<   | j        |d<   | j	        | j	                                        |d<   | j
        | j
                                        |d	<   | j        | j                                        |d
<   |S )Ntype
useCapturer'   r(   scriptId
lineNumbercolumnNumberr-   originalHandlerbackendNodeId)dictr$   r&   r'   r(   r)   r   r+   r,   r-   r.   r/   )r   r   s     r   r   zEventListener.to_jsonC   s    vvzV!-\,YyV>1133Z!-\#1^<#"l2244DO ,&*&;&C&C&E&ED"#+$($8$@$@$B$BD!r   c                L    | t          |d                   t          |d                   t          |d                   t          |d                   t          j                            |d                   t          |d                   t          |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 )Nr1   r2   r'   r(   r3   r4   r5   r-   r6   r7   )
r$   r&   r'   r(   r)   r+   r,   r-   r.   r/   )	r#   r%   r	   ScriptIdr   r*   RemoteObjectr   BackendNodeIdr   s     r   r   zEventListener.from_jsonT   s   sd6l##T,/00i))d6l##&00j1ABBD.//d>233GPTXGXGXG(224	?CCC^bXimqXqXqW1;;DAR<STTTw{RaeiRiRiC-77_8MNNNos
 
 
 	
r   )r   r   r   r   __annotations__r-   r.   r/   r   r    r   r   r   r   r"   r"       s           JJJ  MMM JJJ     6:G9999 ?CBBBB ;?O>>>>  " 
 
 [
 
 
r   r"   	object_idruntime.RemoteObjectIddepthtyping.Optional[int]piercetyping.Optional[bool]returnFtyping.Generator[T_JSON_DICT, T_JSON_DICT, typing.List[EventListener]]c              #     K   t                      }|                                 |d<   |||d<   |||d<   d|d}|V }d |d         D             S )	a  
    Returns event listeners of the given object.

    :param object_id: Identifier of the object to return listeners for.
    :param depth: *(Optional)* The maximum depth at which Node children should be retrieved, defaults to 1. Use -1 for the entire subtree or provide an integer larger than 0.
    :param pierce: *(Optional)* Whether or not iframes and shadow roots should be traversed when returning the subtree (default is false). Reports listeners for all contexts if pierce is enabled.
    :returns: Array of relevant listeners.
    objectIdNr@   rB   zDOMDebugger.getEventListenersmethodparamsc                B    g | ]}t                               |          S r   )r"   r   ).0is     r   
<listcomp>z'get_event_listeners.<locals>.<listcomp>|   s&    BBB1M##A&&BBBr   	listenersr8   r   )r>   r@   rB   rJ   cmd_dictr   s         r   get_event_listenersrR   d   s|       &&F"**,,F:w!x1 H >>DBB[0ABBBBr   node_id
dom.NodeIdr$   0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c              #     K   t                      }|                                 |d<   |                                |d<   d|d}|V }dS )z
    Removes DOM breakpoint that was set using ``setDOMBreakpoint``.

    :param node_id: Identifier of the node to remove breakpoint from.
    :param type_: Type of the breakpoint to remove.
    nodeIdr1   zDOMDebugger.removeDOMBreakpointrH   NrP   rS   r$   rJ   rQ   r   s        r   remove_dom_breakpointrY      sW       &&F((F8]]__F6N3 H >>DDDr   
event_namer#   target_nametyping.Optional[str]c              #  P   K   t                      }| |d<   |||d<   d|d}|V }dS )z
    Removes breakpoint on particular DOM event.

    :param event_name: Event name.
    :param target_name: **(EXPERIMENTAL)** *(Optional)* EventTarget interface name.
    	eventNameN
targetNamez)DOMDebugger.removeEventListenerBreakpointrH   r8   rZ   r[   rJ   rQ   r   s        r    remove_event_listener_breakpointrb      sL       &&F$F;*|= H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )z
    Removes breakpoint on particular native event.

    **EXPERIMENTAL**

    :param event_name: Instrumentation name to stop on.
    r^   z+DOMDebugger.removeInstrumentationBreakpointrH   Nr`   rZ   rJ   rQ   r   s       r   !remove_instrumentation_breakpointre      s<       &&F$F;? H >>DDDr   urlc              #  B   K   t                      }| |d<   d|d}|V }dS )zZ
    Removes breakpoint from XMLHttpRequest.

    :param url: Resource URL substring.
    rf   zDOMDebugger.removeXHRBreakpointrH   Nr`   rf   rJ   rQ   r   s       r   remove_xhr_breakpointri      s;       &&FF5M3 H >>DDDr   c              #     K   t                      }|                                 |d<   |                                |d<   d|d}|V }dS )z
    Sets breakpoint on particular operation with DOM.

    :param node_id: Identifier of the node to set breakpoint on.
    :param type_: Type of the operation to stop upon.
    rW   r1   zDOMDebugger.setDOMBreakpointrH   NrP   rX   s        r   set_dom_breakpointrk      sW       &&F((F8]]__F6N0 H >>DDDr   c              #  P   K   t                      }| |d<   |||d<   d|d}|V }dS )a!  
    Sets breakpoint on particular DOM event.

    :param event_name: DOM Event name to stop on (any DOM event will do).
    :param target_name: **(EXPERIMENTAL)** *(Optional)* EventTarget interface name to stop on. If equal to ```"*"``` or not provided, will stop on any EventTarget.
    r^   Nr_   z&DOMDebugger.setEventListenerBreakpointrH   r`   ra   s        r   set_event_listener_breakpointrm      sL       &&F$F;*|: H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )z
    Sets breakpoint on particular native event.

    **EXPERIMENTAL**

    :param event_name: Instrumentation name to stop on.
    r^   z(DOMDebugger.setInstrumentationBreakpointrH   Nr`   rd   s       r   set_instrumentation_breakpointro      s<       &&F$F;< H >>DDDr   c              #  B   K   t                      }| |d<   d|d}|V }dS )z
    Sets breakpoint on XMLHttpRequest.

    :param url: Resource URL substring. All XHRs having this substring in the URL will get stopped upon.
    rf   zDOMDebugger.setXHRBreakpointrH   Nr`   rh   s       r   set_xhr_breakpointrq     s;       &&FF5M0 H >>DDDr   )NN)r>   r?   r@   rA   rB   rC   rD   rE   )rS   rT   r$   r   rD   rU   r   )rZ   r#   r[   r\   rD   rU   )rZ   r#   rD   rU   )rf   r#   rD   rU   )
__future__r   utilr   r   dataclassesr   enumtyping r   r	   Enumr   r"   rR   rY   rb   re   ri   rk   rm   ro   rq   r   r   r   <module>ry      s   # " " " " " * * * * * * * * ! ! ! ! ! !                  	     @
 @
 @
 @
 @
 @
 @
 @
J '+(,C C C C C6   , -1    *   &   "   , -1    *   &     r   