o
    5@Hh³%  ã                   @   sÂ   d dl mZmZ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„ dƒZ#G dd„ dƒZ$G dd„ dƒZ%d	S )
é    )ÚAnyÚDictÚType)Ú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                   @   s”   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@eAZBd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)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© rI   rI   úf/home/air/sanwanet/gpt-api/venv/lib/python3.10/site-packages/selenium/webdriver/remote/errorhandler.pyr#   6   sF    r#   c                   @   s2  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)dES )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 boundsé3   é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 exceptionéA   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   rI   rI   rJ   rK   _   sP    rK   c                   @   s*   e Zd ZdZdeeef ddfdd„ZdS )ÚErrorHandlerz0Handles errors returned by the WebDriver server.ÚresponseÚreturnNc                 C   s¸  |  dd¡}|r|tjkrdS d}|  dd¡}|  dd¡}d}t|tƒr||  dd¡}|r|t|tƒr|ddl}z=| |¡}t|ƒdkrE|d }|  d	d¡}|sk|  dtj	¡}|  d¡p]|  d¡}t|tƒsj|}|  d¡}n|  dd¡}W n	 t
y{   Y nw tƒ }	d
d„ t|	ƒD ƒ}
|
D ]}tt|ƒ}t|tƒr¢||v r¢tt|tƒ} nqŠt}|s«|d }t|tƒr´||ƒ‚|dkrÀd|v rÀ|d }d}d|v rÊ|d }d}|  d¡pÕ|  d¡}|r/t|tƒrä| d¡}nKg }z>|D ]9}|  dd¡}|  dd¡}|r|› d|› }|  dd¡}d|v r|d › d|› }d}|||f }| |¡ qéW n
 ty.   Y nw |tkrVd}d|v rC|d   d¡}nd|v rO|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                 S   s   g | ]	}|  d ¡s|‘qS )Ú__)Ú
startswith)Ú.0ÚitemrI   rI   rJ   Ú
<listcomp>¸   s    z/ErrorHandler.check_response.<locals>.<listcomp>Ú
stackTraceÚ
stacktraceÚ
Ú
lineNumberÚfileNamez<anonymous>ú:Ú
methodNameÚ	classNameÚ.z    at %s (%s)ÚdataÚtextÚalert)ÚgetrK   rl   Ú
isinstanceÚintÚstrÚjsonÚloadsÚlenr.   Ú
ValueErrorÚdirÚgetattrÚlistr#   r"   ÚsplitÚappendÚ	TypeErrorr    )Úselfrr   rt   rx   ru   rw   r   Ú
value_jsonr   ÚeÚerror_codesÚ
error_codeÚ
error_infoÚexception_classÚst_valueÚframeÚlineÚfileÚmethÚmsgÚ
alert_textrI   rI   rJ   Úcheck_response   s˜   




€€ÿ
€


öÿ


zErrorHandler.check_response)r$   r%   r&   r'   r   r   r   r¨   rI   rI   rI   rJ   rq      s    rq   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"   r#   rK   rq   rI   rI   rI   rJ   Ú<module>   s
   €").