
    +gb                        % S SK r S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S S	KJ	r	  S S
K
Jr  S SK
Jr  S SKJr  S SKJr  S SKJr  Sr\\S'   \4r\\\      \S'   \" S\	\\4   S9r\" S5      r " S S\\   5      rg)    N)Callable)Generic)Literal)Optional)Tuple)Type)TypeVar)Union)NoSuchElementException)TimeoutException)WaitExcTypes)	WebDriver)
WebElementg      ?POLL_FREQUENCYIGNORED_EXCEPTIONSD)boundTc            
           \ rS rSr\S4S\S\S\S\\   4S jjr	S r
SS	\\/\\S
   \4   4   S\S\4S jjrSS	\\/\4   S\S\\\S   4   4S jjrSrg)WebDriverWait)   Ndrivertimeoutpoll_frequencyignored_exceptionsc                 6   Xl         [        U5      U l        X0l        U R                  S:X  a  [        U l        [        [        5      nU(       a   UR                  [        U5      5        [        U5      U l        g! [         a    UR                  U5         N.f = f)af  Constructor, takes a WebDriver instance and timeout in seconds.

Attributes:
----------
driver
    - Instance of WebDriver (Ie, Firefox, Chrome or Remote) or
    a WebElement

timeout
    - Number of seconds before timing out

poll_frequency
    - Sleep interval between calls
    - By default, it is 0.5 second.

ignored_exceptions
    - Iterable structure of exception classes ignored during calls.
    - By default, it contains NoSuchElementException only.

Example:
--------
>>> from selenium.webdriver.common.by import By
>>> from selenium.webdriver.support.wait import WebDriverWait
>>> from selenium.common.exceptions import ElementNotVisibleException
>>>
>>> # Wait until the element is no longer visible
>>> is_disappeared = WebDriverWait(driver, 30, 1, (ElementNotVisibleException))
...     .until_not(lambda x: x.find_element(By.ID, "someId").is_displayed())
r   N)_driverfloat_timeout_pollr   listr   extenditer	TypeErrorappendtuple_ignored_exceptions)selfr   r   r   r   
exceptionss         g/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/selenium/webdriver/support/wait.py__init__WebDriverWait.__init__*   s    H g#
::?'DJ,-
6!!$'9":; $)#4   6!!"456s   A: :BBc                     S[        U 5      R                   S[        U 5      R                   SU R                  R                   S3$ )N<.z (session="z")>)type
__module____name__r   
session_id)r(   s    r*   __repr__WebDriverWait.__repr__\   s?    4:(()4:+>+>*?{4<<KbKbJccfgg    methodFmessagereturnc                    SnSn[         R                  " 5       U R                  -   n  U" U R                  5      nU(       a  U$  [         R                  " 5       U:  a  O"[         R                  " U R                  5        MY  [        X#U5      e! U R                   a$  n[        USS5      n[        USS5      n SnANwSnAff = f)a  Wait until the method returns a value that is not False.

Calls the method provided with the driver as an argument until the
return value does not evaluate to ``False``.

Parameters:
----------
method: callable(WebDriver)
    - A callable object that takes a WebDriver instance as an argument.

message: str
    - Optional message for :exc:`TimeoutException`

Return:
-------
object: T
    - The result of the last call to `method`

Raises:
-------
TimeoutException
    - If 'method' does not return a truthy value within the WebDriverWait
    object's timeout

Example:
--------
>>> from selenium.webdriver.common.by import By
>>> from selenium.webdriver.support.ui import WebDriverWait
>>> from selenium.webdriver.support import expected_conditions as EC

# Wait until an element is visible on the page
>>> wait = WebDriverWait(driver, 10)
>>> element = wait.until(EC.visibility_of_element_located((By.ID, "exampleId")))
>>> print(element.text)
Nscreen
stacktrace)	time	monotonicr   r   r'   getattrsleepr    r   )r(   r7   r8   r;   r<   end_timevalueexcs           r*   untilWebDriverWait.until_   s    H 
>>#dmm3>t||, L 
 ~~(*JJtzz"  w
;; ++ > h5$S,=
>s   B CB<<CTc                 <   [         R                  " 5       U R                  -   n  U" U R                  5      nU(       d  U$  [         R                  " 5       U:  a  O"[         R
                  " U R                  5        MY  [        U5      e! U R                   a     gf = f)a  Wait until the method returns a value that is not False.

Calls the method provided with the driver as an argument until the
return value does not evaluate to ``False``.

Parameters:
----------
method: callable(WebDriver)
    - A callable object that takes a WebDriver instance as an argument.

message: str
    - Optional message for :exc:`TimeoutException`

Return:
-------
object: T
    - The result of the last call to `method`

Raises:
-------
TimeoutException
    - If 'method' does not return False within the WebDriverWait
    object's timeout

Example:
--------
>>> from selenium.webdriver.common.by import By
>>> from selenium.webdriver.support.ui import WebDriverWait
>>> from selenium.webdriver.support import expected_conditions as EC

# Wait until an element is visible on the page
>>> wait = WebDriverWait(driver, 10)
>>> is_disappeared = wait.until_not(EC.visibility_of_element_located(
... (By.ID, "exampleId")))
T)r=   r>   r   r   r'   r@   r    r   )r(   r7   r8   rA   rB   s        r*   	until_notWebDriverWait.until_not   s    H >>#dmm3t||, L  ~~(*JJtzz"  w'' ++ s   B BB)r   r'   r    r   ) )r2   r1   __qualname____firstlineno__r   r   r   r   r   r+   r4   r   r
   r   r   strrD   rG   __static_attributes__ r6   r*   r   r   )   s    
 !/590505 05 	05
 %\205dh3<HaS%0A*B%BC 3<c 3<[\ 3<j/(!a 0 /(3 /(aQXY]Q^N^H_ /( /(r6   r   )r=   typingr   r   r   r   r   r   r	   r
   selenium.common.exceptionsr   r   selenium.typesr   #selenium.webdriver.remote.webdriverr   $selenium.webdriver.remote.webelementr   r   r   __annotations__r   	Exceptionr   r   r   rN   r6   r*   <module>rV      s   $          = 7 ' 9 ; .D-F E$y/* FCuY
234CLZ(GAJ Z(r6   