B
     ¸h«-  ã               @   sÂ   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 ye W n ek
rœ   e ZY nX G dd„ de!ƒZ"G dd„ de!ƒZ#dS )é    )Ú ElementClickInterceptedExceptionÚElementNotInteractableExceptionÚElementNotSelectableExceptionÚElementNotVisibleExceptionÚErrorInResponseExceptionÚInsecureCertificateExceptionÚInvalidCoordinatesExceptionÚInvalidElementStateExceptionÚInvalidSessionIdExceptionÚInvalidSelectorExceptionÚImeNotAvailableExceptionÚImeActivationFailedExceptionÚInvalidArgumentExceptionÚInvalidCookieDomainExceptionÚJavascriptExceptionÚMoveTargetOutOfBoundsExceptionÚNoSuchCookieExceptionÚNoSuchElementExceptionÚNoSuchFrameExceptionÚNoSuchWindowExceptionÚNoAlertPresentExceptionÚScreenshotExceptionÚSessionNotCreatedExceptionÚStaleElementReferenceExceptionÚTimeoutExceptionÚUnableToSetCookieExceptionÚUnexpectedAlertPresentExceptionÚUnknownMethodExceptionÚWebDriverExceptionc               @   s$  e Zd ZdZd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+dgZd,d-gZd.d/gZd0dgZd1dgZd2d3gZd4gZd5d6gZ d7gZ!d8gZ"d9d:gZ#d;d<gZ$d=d>gZ%d?gZ&d@dAgZ'dBS )CÚ	ErrorCodez=
    Error codes defined in the WebDriver wire protocol.
    r   é   zno such elementé   zno such frameé	   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 exceptioni•  zunsupported operationN)(Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚSUCCESSÚNO_SUCH_ELEMENTÚNO_SUCH_FRAMEZUNKNOWN_COMMANDÚSTALE_ELEMENT_REFERENCEÚELEMENT_NOT_VISIBLEÚINVALID_ELEMENT_STATEÚUNKNOWN_ERRORÚELEMENT_IS_NOT_SELECTABLEÚJAVASCRIPT_ERRORZXPATH_LOOKUP_ERRORÚTIMEOUTÚNO_SUCH_WINDOWÚINVALID_COOKIE_DOMAINÚUNABLE_TO_SET_COOKIEÚUNEXPECTED_ALERT_OPENÚNO_ALERT_OPENÚSCRIPT_TIMEOUTZINVALID_ELEMENT_COORDINATESÚIME_NOT_AVAILABLEÚIME_ENGINE_ACTIVATION_FAILEDÚINVALID_SELECTORÚSESSION_NOT_CREATEDÚMOVE_TARGET_OUT_OF_BOUNDSÚINVALID_XPATH_SELECTORÚ#INVALID_XPATH_SELECTOR_RETURN_TYPERÚELEMENT_NOT_INTERACTABLEÚINSECURE_CERTIFICATEÚINVALID_ARGUMENTÚINVALID_COORDINATESÚINVALID_SESSION_IDÚNO_SUCH_COOKIEÚUNABLE_TO_CAPTURE_SCREENÚELEMENT_CLICK_INTERCEPTEDÚUNKNOWN_METHODÚMETHOD_NOT_ALLOWED© rd   rd   úcC:\Users\sanjo\AppData\Local\Qlobot\Launcher\ext_packages\selenium\webdriver\remote\errorhandler.pyr   6   sJ   r   c               @   s    e Zd ZdZdd„ Zdd„ ZdS )ÚErrorHandlerz:
    Handles errors returned by the WebDriver server.
    c             C   sâ  |  dd¡}|dks|tjkr"dS d}|  dd¡}|  dd¡}d}t|tƒrô|  dd¡}|rôt|tƒrôddl}yp| |¡}t| 	¡ ƒdkr’|d }|  d	d¡}|dkrÐ|d }|d }t|tƒsÜ|}|  d¡}n|  dd¡}W n t
k
rò   Y nX t}	|tjkrt}	n0|tjkr t}	n|tjkr4t}	n|tjkrHt}	nô|tjkr\t}	nà|tjkrpt}	nÌ|tjks”|tjks”|tjkrœt}	n |tjkr°t}	nŒ|tjkrÄt}	nx|tj krØt!}	nd|tj"krìt#}	nP|tj$kr t%}	n<|tj&krt%}	n(|tj'kr(t(}	n|tj)kr<t*}	n |tj+krNt,}	nî|tj-kr`t.}	nÜ|tj/krrt0}	nÊ|tj1kr„t2}	n¸|tj3kr–t4}	n¦|tj5kr¨t6}	n”|tj7krºt8}	n‚|tj9krÌt:}	np|tj;krÞt<}	n^|tj=krðt>}	nL|tj?krt@}	n:|tjAkrtB}	n(|tjCkr&tD}	n|tjEkr8tF}	nt(}	|dksP|dkrX|d }t|tƒr€|	tkrx|	||ƒ‚|	|ƒ‚|dkrœd|krœ|d }d}d|kr²|d }d}d
|krn|d
 rng }yˆx‚|d
 D ]v}
|  G|
dd¡}|  G|
dd¡}|rd||f }|  G|
dd¡}d|
kr4d|
d |f }d}|||f }| H|¡ qÚW W n tIk
rl   Y nX |	tkr„|	||ƒ‚nN|	t*krÒd}d|kr¬|d   d¡}nd|krÄ|d   d¡}|	||||ƒ‚|	|||ƒ‚dS )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   é   ÚerrorZ
stackTraceZ
lineNumberZfileNamez<anonymous>z%s:%sZ
methodNameZ	classNamez%s.%sz    at %s (%s)ÚdataÚtextÚalert)JÚgetr   rC   Ú
isinstanceÚintÚ
basestringÚjsonÚloadsÚlenÚkeysÚ
ValueErrorr   rD   r   rE   r   rM   r   rF   r   rG   r   rH   r	   rU   rX   rY   r   rJ   r   rZ   r   rN   r   rO   r   rL   r   rR   rI   r   rP   r   rQ   r   rS   r   rT   r   rW   r   rK   r   rV   r   r\   r   r_   r   r`   r   ra   r   r[   r   r]   r   r^   r
   rb   r   Ú_value_or_defaultÚappendÚ	TypeError)ÚselfÚresponserg   rk   rh   rj   Ú
stacktraceZ
value_jsonru   Zexception_classÚframeÚlineÚfileÚmethÚmsgÚ
alert_textrd   rd   re   Úcheck_responseg   sú    











zErrorHandler.check_responsec             C   s   ||kr|| S |S )Nrd   )r}   ÚobjÚkeyÚdefaultrd   rd   re   rz   ô   s    zErrorHandler._value_or_defaultN)r?   r@   rA   rB   r†   rz   rd   rd   rd   re   rf   c   s    rf   N)$Ú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   rt   Ú	NameErrorÚstrÚobjectr   rf   rd   rd   rd   re   Ú<module>   s   |
-