
     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 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j                  Ze G d d                      Z	 	 d&d'dZd(d Zd)d!Zd)d"Z ed#          e G d$ d%                                  ZdS )*    )annotations   )event_classT_JSON_DICT)	dataclassN)dom)pagec                  ^    e Zd ZU ded<   ded<   ded<   ded<   ded<   d Zed             Zd	S )

CreditCardstrnumbernameexpiry_monthexpiry_yearcvcc                    t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   |S )Nr   r   expiryMonth
expiryYearr   )dictr   r   r   r   r   selfjsons     s/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/selenium/webdriver/common/devtools/v125/autofill.pyto_jsonzCreditCard.to_json!   sK    vvXyV"/]!-\hU    c           
          | t          |d                   t          |d                   t          |d                   t          |d                   t          |d                             S )Nr   r   r   r   r   )r   r   r   r   r   r   clsr   s     r   	from_jsonzCreditCard.from_json*   sh    stH~&&T&\""T-011D.//DK  
 
 
 	
r   N__name__
__module____qualname____annotations__r   classmethodr     r   r   r   r      s}          KKK III   HHH   
 
 [
 
 
r   r   c                  @    e Zd ZU ded<   ded<   d Zed             ZdS )AddressFieldr   r   valuec                J    t                      }| j        |d<   | j        |d<   |S )Nr   r*   )r   r   r*   r   s     r   r   zAddressField.to_json=   s&    vvyV
Wr   c                h     | t          |d                   t          |d                             S )Nr   r*   )r   r*   r   r   s     r   r    zAddressField.from_jsonC   s9    sT&\""d7m$$
 
 
 	
r   Nr!   r'   r   r   r)   r)   5   sV          III JJJ   
 
 [
 
 
r   r)   c                  :    e Zd ZU dZded<   d Zed             ZdS )AddressFieldsz#
    A list of address fields.
    typing.List[AddressField]fieldsc                J    t                      }d | j        D             |d<   |S )Nc                6    g | ]}|                                 S r'   r   .0is     r   
<listcomp>z)AddressFields.to_json.<locals>.<listcomp>T        ;;;!!))++;;;r   r0   r   r0   r   s     r   r   zAddressFields.to_jsonR   )    vv;;t{;;;Xr   c                :     | d |d         D                       S )Nc                B    g | ]}t                               |          S r'   r)   r    r4   s     r   r7   z+AddressFields.from_json.<locals>.<listcomp>Z   &    FFF!L**1--FFFr   r0   r0   r'   r   s     r   r    zAddressFields.from_jsonW   0    sFFtH~FFF
 
 
 	
r   Nr"   r#   r$   __doc__r%   r   r&   r    r'   r   r   r.   r.   K   sX           &%%%  
 
 
 [
 
 
r   r.   c                  6    e Zd ZU ded<   d Zed             ZdS )Addressr/   r0   c                J    t                      }d | j        D             |d<   |S )Nc                6    g | ]}|                                 S r'   r3   r4   s     r   r7   z#Address.to_json.<locals>.<listcomp>e   r8   r   r0   r9   r   s     r   r   zAddress.to_jsonc   r:   r   c                :     | d |d         D                       S )Nc                B    g | ]}t                               |          S r'   r=   r4   s     r   r7   z%Address.from_json.<locals>.<listcomp>k   r>   r   r0   r?   r'   r   s     r   r    zAddress.from_jsonh   r@   r   Nr!   r'   r   r   rD   rD   ^   sN          &%%%  
 
 
 [
 
 
r   rD   c                  :    e Zd ZU dZded<   d Zed             ZdS )	AddressUIa  
    Defines how an address can be displayed like in chrome://settings/addresses.
    Address UI is a two dimensional array, each inner array is an "address information line", and when rendered in a UI surface should be displayed as such.
    The following address UI for instance:
    [[{name: "GIVE_NAME", value: "Jon"}, {name: "FAMILY_NAME", value: "Doe"}], [{name: "CITY", value: "Munich"}, {name: "ZIP", value: "81456"}]]
    should allow the receiver to render:
    Jon Doe
    Munich 81456
    ztyping.List[AddressFields]address_fieldsc                J    t                      }d | j        D             |d<   |S )Nc                6    g | ]}|                                 S r'   r3   r4   s     r   r7   z%AddressUI.to_json.<locals>.<listcomp>   s      J J J J J Jr   addressFields)r   rK   r   s     r   r   zAddressUI.to_json}   s+    vv J Jd6I J J J_r   c                :     | d |d         D                       S )Nc                B    g | ]}t                               |          S r'   )r.   r    r4   s     r   r7   z'AddressUI.from_json.<locals>.<listcomp>   s&    VVV1M33A66VVVr   rN   )rK   r'   r   s     r   r    zAddressUI.from_json   s1    sVV_@UVVV
 
 
 	
r   NrA   r'   r   r   rJ   rJ   o   sX           /...  
 
 
 [
 
 
r   rJ   c                  6    e Zd ZdZdZdZd Zed             ZdS )FillingStrategyzw
    Specified whether a filled field was done so by using the html autocomplete attribute or autofill heuristics.
    autocompleteAttributeautofillInferredc                    | j         S N)r*   )r   s    r   r   zFillingStrategy.to_json   s
    zr   c                     | |          S rV   r'   r   s     r   r    zFillingStrategy.from_json   s    s4yyr   N)	r"   r#   r$   rB   AUTOCOMPLETE_ATTRIBUTEAUTOFILL_INFERREDr   r&   r    r'   r   r   rR   rR      sV          5*     [  r   rR   c                  |    e Zd ZU ded<   ded<   ded<   ded<   ded<   ded<   d	ed
<   ded<   d Zed             ZdS )FilledFieldr   	html_typeid_r   r*   autofill_typerR   filling_strategyzpage.FrameIdframe_iddom.BackendNodeIdfield_idc                .   t                      }| j        |d<   | j        |d<   | j        |d<   | j        |d<   | j        |d<   | j                                        |d<   | j                                        |d<   | j	                                        |d<   |S )	NhtmlTypeidr   r*   autofillTypefillingStrategyframeIdfieldId)
r   r\   r]   r   r*   r^   r_   r   r`   rb   r   s     r   r   zFilledField.to_json   s    vv>ZXT
yV
W#1^"&"7"?"?"A"A-//11Y-//11Yr   c                    | t          |d                   t          |d                   t          |d                   t          |d                   t          |d                   t                              |d                   t          j                            |d                   t
          j                            |d                   	          S )
Nrd   re   r   r*   rf   rg   rh   ri   )r\   r]   r   r*   r^   r_   r`   rb   )r   rR   r    r	   FrameIdr   BackendNodeIdr   s     r   r    zFilledField.from_json   s    s$z*++DJT&\""d7m$$d>233,66t<M7NOO\++DO<<&00iAA	
 	
 	
 		
r   Nr!   r'   r   r   r[   r[      s          NNN HHH III JJJ  &%%%   
 
 
 

 

 [

 

 

r   r[   rb   ra   r`   typing.Optional[page.FrameId]cardreturn0typing.Generator[T_JSON_DICT, T_JSON_DICT, None]c              #     K   t                      }|                                 |d<   ||                                |d<   |                                |d<   d|d}|V }dS )a  
    Trigger autofill on a form identified by the fieldId.
    If the field and related form cannot be autofilled, returns an error.

    :param field_id: Identifies a field that serves as an anchor for autofill.
    :param frame_id: *(Optional)* Identifies the frame that field belongs to.
    :param card: Credit card information to fill out the form. Credit card data is not saved.
    ri   Nrh   rn   zAutofill.triggermethodparams)r   r   )rb   r`   rn   rt   cmd_dictr   s         r   triggerrv      su       &&F ((**F9$,,..y\\^^F6N$ H >>DDDr   	addressestyping.List[Address]c              #  V   K   t                      }d | D             |d<   d|d}|V }dS )zh
    Set addresses so that developers can verify their forms implementation.

    :param addresses:
    c                6    g | ]}|                                 S r'   r3   r4   s     r   r7   z!set_addresses.<locals>.<listcomp>   s     :::1199;;:::r   rw   zAutofill.setAddressesrr   N)r   )rw   rt   ru   r   s       r   set_addressesr{      sJ       &&F::	:::F;) H >>DDDr   c               #     K   ddi} | V }dS )z1
    Disables autofill domain notifications.
    rs   zAutofill.disableNr'   ru   r   s     r   disabler~      s$      
 	$H >>DDDr   c               #     K   ddi} | V }dS )z0
    Enables autofill domain notifications.
    rs   zAutofill.enableNr'   r}   s     r   enabler      s$      
 	#H >>DDDr   zAutofill.addressFormFilledc                  @    e Zd ZU dZded<   ded<   edd	            Zd
S )AddressFormFilledz1
    Emitted when an address form is filled.
    ztyping.List[FilledField]filled_fieldsrJ   
address_uir   r   ro   c                x     | d |d         D             t                               |d                             S )Nc                B    g | ]}t                               |          S r'   )r[   r    r4   s     r   r7   z/AddressFormFilled.from_json.<locals>.<listcomp>  s&    RRR;0033RRRr   filledFields	addressUi)r   r   )rJ   r    r   s     r   r    zAddressFormFilled.from_json  sG    sRRT.=QRRR **4+<==
 
 
 	
r   N)r   r   ro   r   )r"   r#   r$   rB   r%   r&   r    r'   r   r   r   r   
  sZ           ,+++ 
 
 
 [
 
 
r   r   )NN)rb   ra   r`   rm   rn   r   ro   rp   )rw   rx   ro   rp   )ro   rp   )
__future__r   utilr   r   dataclassesr   enumtyping r   r	   r   r)   r.   rD   rJ   EnumrR   r[   rv   r{   r~   r   r   r'   r   r   <module>r      s   # " " " " " * * * * * * * * ! ! ! ! ! !               !
 !
 !
 !
 !
 !
 !
 !
H 
 
 
 
 
 
 
 
* 
 
 
 
 
 
 
 
$ 
 
 
 
 
 
 
 
  
 
 
 
 
 
 
 
2    di    0
 0
 0
 0
 0
 0
 0
 0
j 37    2   "       )**

 
 
 
 
 
 
  +*
 
 
r   