a
    5ñ»jå  ã                   @   sj   d dl mZ er2d dl mZ G dd„ dedd�Znd dl mZ eeef ZG dd	„ d	ƒZG d
d„ dƒZdS )é    )ÚTYPE_CHECKING)Ú	TypedDictc                   @   s&   e Zd ZU eed< eed< eed< dS )ÚJSONTimeoutsÚimplicitÚpageLoadÚscriptN)Ú__name__Ú
__module__Ú__qualname__ÚintÚ__annotations__© r   r   úHE:\soccer\ml_env\Lib\site-packages\selenium/webdriver/common/timeouts.pyr      s   
r   F)Útotal)ÚDictc                   @   s4   e Zd ZdZdd„ Zedœdd„Zddœdd	„ZdS )
Ú_TimeoutsDescriptorz”Get or set the value of the attributes listed below.

    _implicit_wait _page_load _script

    This does not set the value on the remote end.
    c                 C   s
   || _ d S )N)Úname)Úselfr   r   r   r   Ú__init__*   s    z_TimeoutsDescriptor.__init__©Úreturnc                 C   s   t || jƒd S )Néè  )Úgetattrr   )r   ÚobjÚclsr   r   r   Ú__get__-   s    z_TimeoutsDescriptor.__get__Nc                 C   s    t |dƒ|ƒ}t|| j|ƒ d S )NÚ_convert)r   Úsetattrr   )r   r   ÚvalueZconverted_valuer   r   r   Ú__set__0   s    z_TimeoutsDescriptor.__set__)r   r	   r
   Ú__doc__r   Úfloatr   r   r   r   r   r   r   "   s   r   c                   @   sX   e Zd Zdeeeddœdd„ZedƒZedƒZedƒZee	d	œd
d„Z
edœdd„ZdS )ÚTimeoutsr   N)Úimplicit_waitÚ	page_loadr   r   c                 C   s(   |   |¡| _|   |¡| _|   |¡| _dS )ab  Create a new Timeouts object.

        This implements https://w3c.github.io/webdriver/#timeouts.

        :Args:
         - implicit_wait - Either an int or a float. Set how many
            seconds to wait when searching for elements before
            throwing an error.
         - page_load - Either an int or a float. Set how many seconds
            to wait for a page load to complete before throwing
            an error.
         - script - Either an int or a float. Set how many seconds to
            wait for an asynchronous script to finish execution
            before throwing an error.
        N)r   Ú_implicit_waitÚ
_page_loadÚ_script)r   r#   r$   r   r   r   r   r   6   s    zTimeouts.__init__r%   r&   r'   )Útimeoutr   c                 C   s*   t |ttfƒrtt|ƒd ƒS tdƒ‚d S )Nr   z&Timeouts can only be an int or a float)Ú
isinstancer   r!   Ú	TypeError)r   r(   r   r   r   r   €   s    zTimeouts._convertr   c                 C   s8   i }| j r| j |d< | jr$| j|d< | jr4| j|d< |S )Nr   r   r   )r%   r&   r'   )r   Ztimeoutsr   r   r   Ú_to_json…   s    


zTimeouts._to_json)r   r   r   )r   r	   r
   r!   r   r   r#   r$   r   r   r   r   r+   r   r   r   r   r"   5   s   r"   N)	Útypingr   r   r   r   Ústrr   r   r"   r   r   r   r   Ú<module>   s   