一、显示等待
from time import sleep
sleep(3)
二、隐式等待
driver.implicitly_wait(10)
driver.find_element(By.ID, "kw").send_keys("测试")
driver.find_element(By.ID, "su").click()
整个会话只执行一次,全局起作用,后面的每一次元素查找都会进行等待,在设置的时间内元素找到就执行下一行代码,如果元素未找到,就会报错NoSuchElement。
三、显式等待
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
# 元素定位
loc = (By.XPATH, '//a[contains(text(),"测试")]')
# 等待元素可见
WebDriverWait(driver, 10).until(EC.visibility_of_any_elements_located(loc))
# 点击
driver.find_element(*loc).click()
10秒以内条件满足,则不再继续等待。 如果超出10秒条件没有满足,那就报错抛异TimeoutException。