
     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 G d
 dej                  Ze G d d                      Z	 	 d+d,dZd-dZ	 d.d/d Zd0d!Zd1d#Zd2d&Zd-d'Z	 d.d/d(Zd0d)Zd1d*ZdS )3    )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    w/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v125/dom_debugger.pyto_jsonzDOMBreakpointType.to_json   
    z    c                     | |          S r    clsjsons     r   	from_jsonzDOMBreakpointType.from_json       s4yyr   N)
__name__
__module____qualname____doc__SUBTREE_MODIFIEDATTRIBUTE_MODIFIEDNODE_REMOVEDr   classmethodr   r   r   r   r   r      s[          *-!L     [  r   r   c                  6    e Zd ZdZdZdZd Zed             ZdS )CSPViolationTypez
    CSP Violation type.
    ztrustedtype-sink-violationztrustedtype-policy-violationc                    | j         S r   r   r   s    r   r   zCSPViolationType.to_json'   r   r   c                     | |          S r   r   r   s     r   r   zCSPViolationType.from_json*   r   r   N)	r   r   r   r    TRUSTEDTYPE_SINK_VIOLATIONTRUSTEDTYPE_POLICY_VIOLATIONr   r$   r   r   r   r   r&   r&       sV          ">#A      [  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
useCapturer1   r2   scriptId
lineNumbercolumnNumberr7   originalHandlerbackendNodeId)dictr.   r0   r1   r2   r3   r   r5   r6   r7   r8   r9   )r   r   s     r   r   zEventListener.to_jsonR   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 )Nr;   r<   r1   r2   r=   r>   r?   r7   r@   rA   )
r.   r0   r1   r2   r3   r5   r6   r7   r8   r9   )	r-   r/   r	   ScriptIdr   r4   RemoteObjectr   BackendNodeIdr   s     r   r   zEventListener.from_jsonc   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__r7   r8   r9   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.
    objectIdNrJ   rL   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rB   r   )rH   rJ   rL   rT   cmd_dictr   s         r   get_event_listenersr]   s   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.
    nodeIdr;   zDOMDebugger.removeDOMBreakpointrR   Nr[   r^   r.   rT   r\   r   s        r   remove_dom_breakpointrd      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.removeEventListenerBreakpointrR   rB   re   rf   rT   r\   r   s        r    remove_event_listener_breakpointrm      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.
    ri   z+DOMDebugger.removeInstrumentationBreakpointrR   Nrk   re   rT   r\   r   s       r   !remove_instrumentation_breakpointrp      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.
    rq   zDOMDebugger.removeXHRBreakpointrR   Nrk   rq   rT   r\   r   s       r   remove_xhr_breakpointrt      s;       &&FF5M3 H >>DDDr   violation_typestyping.List[CSPViolationType]c              #  V   K   t                      }d | D             |d<   d|d}|V }dS )z
    Sets breakpoint on particular CSP violations.

    **EXPERIMENTAL**

    :param violation_types: CSP Violations to stop upon.
    c                6    g | ]}|                                 S r   )r   rV   s     r   rY   z.set_break_on_csp_violation.<locals>.<listcomp>   s     EEE		EEEr   violationTypesz"DOMDebugger.setBreakOnCSPViolationrR   Nrk   )ru   rT   r\   r   s       r   set_break_on_csp_violationrz      sK       &&FEE_EEEF6 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.
    rb   r;   zDOMDebugger.setDOMBreakpointrR   Nr[   rc   s        r   set_dom_breakpointr|      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.
    ri   Nrj   z&DOMDebugger.setEventListenerBreakpointrR   rk   rl   s        r   set_event_listener_breakpointr~     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.
    ri   z(DOMDebugger.setInstrumentationBreakpointrR   Nrk   ro   s       r   set_instrumentation_breakpointr     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.
    rq   zDOMDebugger.setXHRBreakpointrR   Nrk   rs   s       r   set_xhr_breakpointr   *  s;       &&FF5M0 H >>DDDr   )NN)rH   rI   rJ   rK   rL   rM   rN   rO   )r^   r_   r.   r   rN   r`   r   )re   r-   rf   rg   rN   r`   )re   r-   rN   r`   )rq   r-   rN   r`   )ru   rv   rN   r`   )
__future__r   utilr   r   dataclassesr   enumtyping r   r	   Enumr   r&   r,   r]   rd   rm   rp   rt   rz   r|   r~   r   r   r   r   r   <module>r      s   # " " " " " * * * * * * * * ! ! ! ! ! !                  	        ty    @
 @
 @
 @
 @
 @
 @
 @
J '+(,C C C C C6   , -1    *   &   "   &   , -1    *   &     r   