Skip to content

页面等待

  • 等待页面加载数据完成

强制等待

python
import time

time.sleep(5)

隐式等待

  • 针对的是元素定位,隐式等待设置了一个时间,在一段时间内判断元素是否定位成功,如果完 成了,就进行下一步
  • 如果在设置的时间内没有定位成功,则会报超时加载
python
from selenium import webdriver
# 创建浏览器对象
driver = webdriver.Chrome()
# 隐式等待
driver.implicitly_wait(10)
# 浏览器打开网页
driver.get("https://www.baidu.com")

显式等待

  • 每经过多少秒就查看一次等待条件是否达成,如果达成就停止等待,继续执行后续代码
  • 如果没有达成就继续等待直到超过规定的时间后,报超时异常
python
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By

# 创建浏览器对象
driver = webdriver.Chrome()

# 浏览器打开网页
driver.get("https://www.baidu.com")

# 显示等待
element = WebDriverWait(driver, 10, 0.5).until(
    EC.visibility_of_element_located((By.ID, 'kw'))
)