U
    g
                     @   s.   d Z ddlmZ ddlmZ G dd dZdS )zThe Alert implementation.    )keys_to_typing)Commandc                   @   s\   e Zd ZdZddddZeedddZdddd	Zddd
dZ	eddddZ
dS )Alertag  Allows to work with alerts.

    Use this class to interact with alert prompts.  It contains methods for dismissing,
    accepting, inputting, and getting text from alert prompts.

    Accepting / Dismissing alert prompts::

        Alert(driver).accept()
        Alert(driver).dismiss()

    Inputting a value into an alert prompt::

        name_prompt = Alert(driver)
        name_prompt.send_keys("Willian Shakesphere")
        name_prompt.accept()


    Reading a the text of a prompt for verification::

        alert_text = Alert(driver).text
        self.assertEqual("Do you wish to quit?", alert_text)
    N)returnc                 C   s
   || _ dS )ztCreates a new Alert.

        :Args:
         - driver: The WebDriver instance which performs user actions.
        N)driver)selfr    r   C/tmp/pip-unpacked-wheel-3ysq0mf8/selenium/webdriver/common/alert.py__init__/   s    zAlert.__init__c                 C   s   | j tjd S )zGets the text of the Alert.value)r   executer   ZW3C_GET_ALERT_TEXTr   r   r   r	   text7   s    z
Alert.textc                 C   s   | j tj dS )zDismisses the alert available.N)r   r   r   ZW3C_DISMISS_ALERTr   r   r   r	   dismiss<   s    zAlert.dismissc                 C   s   | j tj dS )zAccepts the alert available.

        :Usage:
            ::

                Alert(driver).accept() # Confirm a alert dialog.
        N)r   r   r   ZW3C_ACCEPT_ALERTr   r   r   r	   accept@   s    zAlert.accept)
keysToSendr   c                 C   s   | j tjt||d dS )zeSend Keys to the Alert.

        :Args:
         - keysToSend: The text to be sent to Alert.
        )r   r   N)r   r   r   ZW3C_SET_ALERT_VALUEr   )r   r   r   r   r	   	send_keysJ   s    zAlert.send_keys)__name__
__module____qualname____doc__r
   propertystrr   r   r   r   r   r   r   r	   r      s   
r   N)r   Zselenium.webdriver.common.utilsr   Z!selenium.webdriver.remote.commandr   r   r   r   r   r	   <module>   s   