
    >fh&                         d dl Z d dlmZ d dlmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!  G d d      Z" G d d      Z# G d d	      Z$y)
    N)Any)DetachedShadowRootException 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@eAZBy)ExceptionMappingz
    :Maps each errorcode in ErrorCode object to corresponding exception
    Please refer to https://www.w3.org/TR/webdriver2/#errors for w3c specification
    N)C__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_METHODr   DETACHED_SHADOW_ROOT     Y/var/www/zara/venv/lib/python3.12/site-packages/selenium/webdriver/remote/errorhandler.pyr#   r#   7   s    
 -O(M3<48&M =*G*N85;+M%N0#? /4 >5*B'>7/52*N2 @+N6rJ   r#   c                   2   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(dCdDgZ)yE)F	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 exceptionA   zdetached shadow rooti  zunsupported operationN)*r$   r%   r&   r'   SUCCESSr(   r)   r*   UNKNOWN_COMMANDr+   r,   r-   r.   r/   r0   XPATH_LOOKUP_ERRORr1   r2   r3   r4   r5   r6   r7   INVALID_ELEMENT_COORDINATESr8   r9   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67rJ   rM   c                   *    e Zd ZdZdeeef   ddfdZy)ErrorHandlerz0Handles errors returned by the WebDriver server.responsereturnNc                    |j                  dd      }|r|t        j                  k(  ryd}|j                  dd      }|j                  dd      }d}t        |t              r|j                  dd      }|rt        |t
              r	 t        j                  |      }t        |t              rt        |      dk(  r|d   }|j                  dd      }|sz|j                  dt        j                        }|j                  d      xs |j                  d      }t        |t
              s8|}t        |t              r|j                  d      nd}n|j                  dd      }t               }t        |      D 	cg c]  }	|	j                  d	      r|	 }
}	|
D ]>  }t        t        |      }t        |t              s$||v s)t        t         |t"              } n t"        }|s|d   }t        |t
              r ||      |dk(  r	d|v r|d   }d}d|v r|d   }d}|j                  d
      xs |j                  d      }|rt        |t
              r|j%                  d      }nrg }	 |D ]i  }|j                  dd      }|j                  dd      }|r| d| }|j                  dd      }d|v r
|d    d| }d}|||fz  }|j'                  |       k 	 |t*        k(  r>d}d|v r|d   j                  d      }nd|v r|d   j                  d      } |||||       ||||      # t        $ r Y w xY wc c}	w # t(        $ r Y qw xY w)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value   error__
stackTrace
stacktrace

lineNumberfileNamez<anonymous>:
methodName	className.z    at %s (%s)datatextalert)getrM   rn   
isinstanceintstrjsonloadsdictlenr.   
ValueErrordir
startswithgetattrlistr#   r!   splitappend	TypeErrorr   )selfru   rx   r|   ry   r{   r   
value_jsoneitemerror_codes
error_code
error_infoexception_classst_valueframelinefilemethmsg
alert_texts                        rK   check_responsezErrorHandler.check_response   sU    h-9#4#44,,y"-ll8R0
fc"!gt4JjS9 JJz2E!%.u:?$)'NE!&7D!9%%*YYx9P9P%QF&+ii&8&PEIIi<PG#-gs#;(/DNwX\D]'++i*@cg&+ii	4&@G
 K(+ALdood6KtLL% 	1J J7J*d+*0D")*:JHZ"[		1 1OW%EeS!!%((b=Y%/I&Gu8_F
99\*Eeii.E(C(%^^D1

!) 
/$yyr:$yy]C&*V1TF#3D$yy}E&%/&+K&8%94&#AD.!T4L0"))#.
/ ==J"6]..v6
E!"7^//7
!'6:zJJgvz::k " 
 MN ! s2   CL  5L0L0 A.L5  	L-,L-5	M M)r$   r%   r&   r'   r   r   r   r   rI   rJ   rK   rt   rt      s#    :W;tCH~ W;$ W;rJ   rt   )%r   typingr   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!   r#   rM   rt   rI   rJ   rK   <module>r      sX   $         D&7 &7R+8 +8\Z; Z;rJ   