selenium.webdriver.support.wait

Classes

WebDriverWait(driver, timeout[, ...])

Constructor, takes a WebDriver instance and timeout in seconds.

class selenium.webdriver.support.wait.WebDriverWait(driver: D, timeout: float, poll_frequency: float = 0.5, ignored_exceptions: Iterable[type[Exception]] | None = None)[source]

Constructor, takes a WebDriver instance and timeout in seconds.

Args:
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())
until(method: Callable[[D], Literal[False] | T], message: str = '') T[source]

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.

Args:
method: A callable object that takes a WebDriver instance as an

argument.

message: Optional message for TimeoutException.

Returns:

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)
until_not(method: Callable[[D], T], message: str = '') T | Literal[True][source]

Wait until the method returns a value that is False.

Calls the method provided with the driver as an argument until the return value evaluates to False.

Args:
method: A callable object that takes a WebDriver instance as an

argument.

message: Optional message for TimeoutException.

Returns:

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 no longer visible on the page
>>> wait = WebDriverWait(driver, 10)
>>> is_disappeared = wait.until_not(EC.visibility_of_element_located((By.ID, "exampleId")))