U
    Ð~fh±  ã                   @   sB   d Z ddlmZ ddlmZ ddlmZ G dd„ dƒZed ZdS )	zThe By implementation.é    )ÚDict)ÚLiteral)ÚOptionalc                   @   s†   e Zd ZU dZdZdZdZdZdZdZ	dZ
d	Zi Zeeef ed
< eeeddœdd„ƒZeeee dœdd„ƒZeddœdd„ƒZdS )ÚByz$Set of supported locator strategies.ÚidÚxpathú	link textúpartial link textÚnameútag nameú
class nameúcss selectorÚ_custom_findersN)r
   ÚstrategyÚreturnc                 C   s   || j |< d S ©N)r   )Úclsr
   r   © r   ú@/tmp/pip-unpacked-wheel-_w7xr53_/selenium/webdriver/common/by.pyÚregister_custom_finder&   s    zBy.register_custom_finder)r
   r   c                 C   s   | j  |¡pt| | ¡ d ƒS r   )r   ÚgetÚgetattrÚupper)r   r
   r   r   r   Ú
get_finder*   s    zBy.get_finder)r   c                 C   s   | j  ¡  d S r   )r   Úclear)r   r   r   r   Úclear_custom_finders.   s    zBy.clear_custom_finders)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ZIDZXPATHZ	LINK_TEXTZPARTIAL_LINK_TEXTÚNAMEZTAG_NAMEZ
CLASS_NAMEZCSS_SELECTORr   r   ÚstrÚ__annotations__Úclassmethodr   r   r   r   r   r   r   r   r      s    
r   )r   r   r   r	   r
   r   r   r   N)r   Útypingr   r   r   r   ZByTyper   r   r   r   Ú<module>   s
   