Please enable JavaScript.
Coggle requires JavaScript to display documents.
SELENIUM
3.0 - Coggle Diagram
SELENIUM
3.0
-
Wait In Selenium
- Dead/Hard Wait: time.sleep()
- Explicily wait
- from selenium.webdriver.support.ui import WebDriverWait
- from selenium.webdriver.support import expected_conditions as EC
- Implicily wait: driver.implicitly_wait(self.timeout)
- Fluent wait
Cách 1 : Chờ cho step trước được hoàn thành rồi mới qua step sau (Không quan tâm Step sau làm gì)
Cách 2 : Sau khi step trước được bắt đầu, thì nó sẽ chờ cho 1 đối tượng của step sau được xuất hiện ( Không quan tâm Step trước đã hoàn thành xong hay chưa?)
4 trạng thái Wait của Element
- Visible : Tương ứng với Điều kiện 1, Người dùng nhìn thấy và thao tác được
EC.visibility_of_element_located((By.XPATH, ""))
- Invisible : Element ko hiển thị trên UI, có thể có hoặc ko có trong DOM--> Người dùng không nhìn thấy và không thao tác được
EC.invisibility_of_element_located((By.XPATH, ""))
- Presence : Element có thể có hoặc ko có trên UI, nhưng bắt buộc có trong DOM
EC.presence_of_element_located((By.XPATH, ""))
- Stateness: Tương ứng với Điều kiện 3, Element ko có trên UI, và cũng không có trên DOM
EC.staleness_of(self.driver.find_element(By.XPATH, ""))
3 Điều kiện của Element
- Điều kiện 1: Element hiển thị trong UI và có xuất hiện trong DOM --> Người dùng có nhìn thấy và có thao tác
- Điều kiện 2: Element không hiển thị trên UI (bị ẩn), nhưng vẫn có trong DOM --> Người dùng ko nhìn thấy, ko thao tác được
- Điều kiện 3: Element không hiển thị trên UI và không có trong DOM --> No matching node (Thường gặp với các cảnh báo khi invalid value)
-