
     f(                        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 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 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 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 d dlmZ d dlmZ d dlm Z  d d lm!Z!  G d! d"          Z" G d# d$          Z# G d% d&          Z$d'S )(    )Any)Dict)Type) ElementClickInterceptedException)ElementNotInteractableException)ElementNotSelectableException)ElementNotVisibleException)ImeActivationFailedException)ImeNotAvailableException)InsecureCertificateException)InvalidArgumentException)InvalidCookieDomainException)InvalidCoordinatesException)InvalidElementStateException)InvalidSelectorException)InvalidSessionIdException)JavascriptException)MoveTargetOutOfBoundsException)NoAlertPresentException)NoSuchCookieException)NoSuchElementException)NoSuchFrameException)NoSuchShadowRootException)NoSuchWindowException)ScreenshotException)SessionNotCreatedException)StaleElementReferenceException)TimeoutException)UnableToSetCookieException)UnexpectedAlertPresentException)UnknownMethodException)WebDriverExceptionc                       e Zd ZdZeZeZeZ	e
ZeZeZeZeZeZeZeZeZeZeZe Z!eZ"e#Z$e%Z&e'Z(e)Z*e+Z,e'Z-e'Z.e/Z0e1Z2e3Z4e5Z6e7Z8e9Z:e;Z<e=Z>e?Z@dS )ExceptionMappingz
    :Maps each errorcode in ErrorCode object to corresponding exception
    Please refer to https://www.w3.org/TR/webdriver2/#errors for w3c specification
    N)A__name__
__module____qualname____doc__r   NO_SUCH_ELEMENTr   NO_SUCH_FRAMEr   NO_SUCH_SHADOW_ROOTr   STALE_ELEMENT_REFERENCEr	   ELEMENT_NOT_VISIBLEr   INVALID_ELEMENT_STATEr"   UNKNOWN_ERRORr   ELEMENT_IS_NOT_SELECTABLEr   JAVASCRIPT_ERRORr   TIMEOUTr   NO_SUCH_WINDOWr   INVALID_COOKIE_DOMAINr   UNABLE_TO_SET_COOKIEr    UNEXPECTED_ALERT_OPENr   NO_ALERT_OPENSCRIPT_TIMEOUTr   IME_NOT_AVAILABLEr
   IME_ENGINE_ACTIVATION_FAILEDr   INVALID_SELECTORr   SESSION_NOT_CREATEDr   MOVE_TARGET_OUT_OF_BOUNDSINVALID_XPATH_SELECTOR#INVALID_XPATH_SELECTOR_RETURN_TYPERr   ELEMENT_NOT_INTERACTABLEr   INSECURE_CERTIFICATEr   INVALID_ARGUMENTr   INVALID_COORDINATESr   INVALID_SESSION_IDr   NO_SUCH_COOKIEr   UNABLE_TO_CAPTURE_SCREENr   ELEMENT_CLICK_INTERCEPTEDr!   UNKNOWN_METHOD     i/var/www/api.educacionweb.es/myenv/lib/python3.11/site-packages/selenium/webdriver/remote/errorhandler.pyr$   r$   5   s         
 -O(M3<48&M =*G*N85;+M%N0#? /4 >5*B'>7/52*N2 @+NNNrJ   r$   c                   ,   e Zd ZdZdZddgZddgZdgZdd	gZd
dgZ	ddgZ
ddgZddgZddgZddgZddgZddgZddgZddgZddgZd d!gZd"d#gZd$d%gZd&d'gZd(d)gZd*d+gZd,dgZd-d.gZd/d0gZd1dgZd2dgZd3d4gZd5gZ d6d7gZ!d8gZ"d9gZ#d:d;gZ$d<d=gZ%d>d?gZ&d@gZ'dAdBgZ(dCS )D	ErrorCodez3Error codes defined in the WebDriver wire protocol.r      zno such element   zno such framezno such shadow root	   zunknown command
   zstale element reference   zelement not visible   zinvalid element state   zunknown error   zelement not selectable   zjavascript error   zinvalid selector   timeout   zno such window   zinvalid cookie domain   zunable to set cookie   zunexpected alert open   zno such alert   zscript timeout   zinvalid element coordinates   zime not available   zime engine activation failed    !   zsession not created"   zmove target out of bounds3   4   <   zelement not interactablezinsecure certificate=   zinvalid argumentzinvalid coordinateszinvalid session id>   zno such cookie?   zunable to capture screen@   zelement click interceptedzunknown method exceptioni  zunsupported operationN))r%   r&   r'   r(   SUCCESSr)   r*   r+   UNKNOWN_COMMANDr,   r-   r.   r/   r0   r1   XPATH_LOOKUP_ERRORr2   r3   r4   r5   r6   r7   r8   INVALID_ELEMENT_COORDINATESr9   r:   r;   r<   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   METHOD_NOT_ALLOWEDrI   rJ   rK   rM   rM   ]   s       == G+,O(M01+,O!#<=45!89)M!#%= >./019oG*+N!89 67!89)M*+N#%'D"E01$&(F#G ./45!#%@ A "45+-/A*B' "$>?23./01./*+N "$>?!#%@ A01N67rJ   rM   c                   2    e Zd ZdZdeeef         ddfdZdS )ErrorHandlerz0Handles errors returned by the WebDriver server.responsereturnNc                 J   |                     dd          }|r|t          j        k    rdS d}|                     dd          }|                     dd          }d}t          |t                    r|                     dd          }|r t          |t
                    rddl}	 |                    |          }t          |          dk    r|d         }|                     d	d          }|sw|                     dt          j	                  }|                     d          p|                     d          }t          |t
                    s|}|                     d          }n|                     dd          }n# t          $ r Y nw xY wt                      }	d
 t          |	          D             }
|
D ]M}t          t          |          }t          |t                    r!||v rt          t          |t                    } nNt          }|s|d         }t          |t
                    r ||          |dk    rd|v r|d         }d}d|v r|d         }d}|                     d          p|                     d          }|rt          |t
                    r|                    d          }ng }	 |D ]|}|                     dd          }|                     dd          }|r| d| }|                     dd          }d|v r|d          d| }d}|||fz  }|                    |           }n# t$          $ r Y nw xY w|t&          k    rOd}d|v r|d                              d          }nd|v r|d                              d          } |||||           ||||          )a	  Checks that a JSON response from the WebDriver does not have an
        error.

        :Args:
         - response - The JSON response from the WebDriver server as a dictionary
           object.

        :Raises: If the response contains an error message.
        statusNmessage screenvaluer      errorc                 <    g | ]}|                     d           |S )__)
startswith).0items     rK   
<listcomp>z/ErrorHandler.check_response.<locals>.<listcomp>   s)    LLLdood6K6KLtLLLrJ   
stackTrace
stacktrace

lineNumberfileNamez<anonymous>:
methodName	className.z    at %s (%s)datatextalert)getrM   rm   
isinstanceintstrjsonloadslenr/   
ValueErrordirgetattrlistr$   r"   splitappend	TypeErrorr    )selfrt   rw   r{   rx   rz   r   
value_jsonr   eerror_codes
error_code
error_infoexception_classst_valueframelinefilemethmsg
alert_texts                        rK   check_responsezErrorHandler.check_response   s     h-- 	9#444F,,y"--ll8R00
fc"" 	!gt44J jS99  JJz22E5zzQ %g"YYw55F! =!&8Y5L!M!M"'))G"4"4"L		)8L8L)'377 =$+E&-kk)&<&<G"'))It"<"<!   D KKLLALLL% 	1 	1J J77J*d++ *0D0D")*:JHZ"["[0O 	&W%EeS!! 	)!/%(((b==Y%//I&Gu8_F
99\**Eeii.E.E 	(C(( %^^D11


!) 
/ 
/$yyr::$yy]CC 4&*#3#3T#3#3D$yy}EE&%//&+K&8#A#A4#A#AD.!T4L0"))#....
/ !   D===J"6]..v66

E!!"7^//77
!/'6:zJJJogvz:::s&   $CE: :
FF.A?L. .
L;:L;)r%   r&   r'   r(   r   r   r   r   rI   rJ   rK   rs   rs      sL        ::X;tCH~ X;$ X; X; X; X; X; X;rJ   rs   N)%typingr   r   r   selenium.common.exceptionsr   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$   rM   rs   rI   rJ   rK   <module>r      s  $                   G G G G G G F F F F F F D D D D D D A A A A A A C C C C C C ? ? ? ? ? ? C C C C C C ? ? ? ? ? ? C C C C C C B B B B B B C C C C C C ? ? ? ? ? ? @ @ @ @ @ @ : : : : : : E E E E E E > > > > > > < < < < < < = = = = = = ; ; ; ; ; ; @ @ @ @ @ @ < < < < < < : : : : : : A A A A A A E E E E E E 7 7 7 7 7 7 A A A A A A F F F F F F = = = = = = 9 9 9 9 9 9%, %, %, %, %, %, %, %,P*8 *8 *8 *8 *8 *8 *8 *8Z[; [; [; [; [; [; [; [; [; [;rJ   