Тафсир кунед фарқиятҳои байни интизориҳои ошкор, пинҳон ва механизмҳои интизории дамгирӣ дар барномасозӣ ё системҳои автоматизатсия.
sobes.tech AI
Ҷавоб аз AI
Дар программагардонӣ ва автоматизатсияи санҷишҳо, намудҳои гуногуни интизорӣ мавҷуданд, ки кӯмак мекунанд, ки иҷрои скриптҳоро бо ҳолати барнома ҳамоҳанг созанд:
-
Интизории ошкор (Explicit waits) — ин интизорӣҳое мебошанд, ки дар код ба таври равшан муқаррар шудаанд ва маҷбур месозанд, ки дароз кашидан ба шарти муайян (масалан, пайдоиши унсур) дар давоми вақти муайян. Агар шарти мазкур қабл аз вақти муайян иҷро шавад, иҷрои фавран идома меёбад.
-
Интизории пинҳон (Implicit waits) — ин танзимоти глобалӣ барои драйвер аст, ки ӯро маҷбур месозад, ки дар ҷустуҷӯи унсурҳо дар вақти муайян интизор шавад, агар унсур фавран пайдо нашавад. Ин интизорӣ ба ҳамаи амалиёти ҷустуҷӯи унсурҳо дахл дорад.
-
Механизми интизорӣ бо таваққуф (Sleep) — ин як таъхири содда дар иҷрои барнома барои вақти муайян аст, бе назар ба ҳолати барнома. Онро камтар истифода мебаранд, зеро он самаранок нест ва метавонад санҷишҳоро суст кунад.
Масалан дар Python бо Selenium:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
driver = webdriver.Chrome()
# Интизории пинҳон
driver.implicitly_wait(10) # то 10 сония интизор шавед дар ҷустуҷӯи унсурҳо
# Интизории ошкор
wait = WebDriverWait(driver, 10)
element = wait.until(EC.presence_of_element_located((By.ID, 'myElement')))
# Таваққуф
time.sleep(5) # танҳо 5 сония интизор шавед