Explicit wait (chờ rõ ràng) được áp dụng để chỉ dẫn webdriver chờ điều kiện cụ thể trước khi chuyển sang các bước tiếp theo trong kịch bản tự động hóa.
Explicit wait được triển khai dùng lớp WebDriverWait kết hợp với expected_conditions. Lớp expected_conditions có nhóm điều kiện dựng sẵn dùng cùng WebDriverWait.
- alert_is_present
- element_selection_state_to_be
- presence_of_all_elements_located
- element_located_to_be_selected
- text_to_be_present_in_element
- text_to_be_present_in_element_value
- frame_to_be_available_and_switch_to_it
- element_located_to_be_selected
- visibility_of_element_located
- presence_of_element_located
- title_is
- title_contains
- visibility_of
- staleness_of
- element_to_be_clickable
- invisibility_of_element_located
- element_to_be_selected
Hãy chờ văn bản "Team @ Tutorials Point" xuất hiện sau khi nhấp link "Team" trên trang.

Khi nhấp link Team, văn bản "Team @ Tutorials Point" xuất hiện.

Ví dụ
Triển khai mã
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
driver = webdriver.Chrome(executable_path='../drivers/chromedriver')
# mở url
driver.get("https://www.tutorialspoint.com/about/about_careers.htm")
# xác định element
l = driver.find_element(By.LINK_TEXT, 'Team')
l.click()
# điều kiện chờ explicit
w = WebDriverWait(driver, 5)
w.until(EC.presence_of_element_located((By.TAG_NAME, 'h1')))
s = driver.find_element(By.TAG_NAME, 'h1')
# lấy văn bản
t = s.text
print('Text is: ' + t)
# thoát driver
driver.quit()
Kết quả
