selenium.webdriver.support.wait#
Classes
|
Constructor, takes a WebDriver instance and timeout in seconds. |
- class WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)[source]#
Bases:
Generic[D]Constructor, takes a WebDriver instance and timeout in seconds.
- Parameters:
driver (D) – Instance of WebDriver (Ie, Firefox, Chrome or Remote) or a WebElement.
timeout (float) – Number of seconds before timing out.
poll_frequency (float) – Sleep interval between calls. By default, it is 0.5 second.
ignored_exceptions (Iterable[type[Exception]] | None) – 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, message='')[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.- Parameters:
method (Callable[[D], Literal[False] | ~selenium.webdriver.support.wait.T]) – A callable object that takes a WebDriver instance as an argument.
message (str) – 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.
- Return type:
T
Example
>>> from selenium.webdriver.common.by import By >>> from selenium.webdriver.support.wait 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, message='')[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.- Parameters:
method (Callable[[D], T]) – A callable object that takes a WebDriver instance as an argument.
message (str) – 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.
- Return type:
T | Literal[True]
Example
>>> from selenium.webdriver.common.by import By >>> from selenium.webdriver.support.wait 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")))