顯示等待/固示等待/隱式等待的區別,用法
阿新 • • 發佈:2021-07-14
顯示等待/固示等待/隱式等待的區別及用法詳解
'''
等待方式:
第一種 執行緒等待:sleep 不管元素有沒有加載出來都會等待多少秒
第二種 隱式等待:作用與全域性implicitly_wait(5)如果在5秒全部載入完成則往下
執行超過5秒則報錯,如果在第一秒就加載出來了就往下開始執行,如果超過時間
則報錯
第三種 顯式等待:需要匯入顯式等待的包
'''
from selenium.webdriver.support.wait import WebDriverWait#匯入顯式等待的包
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By #匯入by類
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')
"""
方法1:
固式等待sleep ----匯入time模組引入sleep方法
又稱線性等待一般作用於除錯程式碼用
"""
sleep(3)
"""
方法2:
隱式等待 作用於全域性"""
driver.implicitly_wait(5)
driver.maximize_window()
driver.find_element_by_id('kw').send_keys('學測試到多測師')
"""
方法3
顯示等待 需要匯入--
from selenium.webdriver.support.wait import WebDriverWait#匯入顯式等待的包
from selenium.webdriver.support import expected_conditions as EC
"""
WebDriverWait(driver,5,poll_frequency=0.5).until(EC.presence_of_element_located((By.ID,'su')))
"""超時時間式5秒,每0.5秒重新整理一次頁面元素,如果沒有發現頁面元素就會拋錯 作用於特定的元素"""
driver.find_element_by_id('su').click()
sleep(3)
driver.close()