selenium的三种等待方式:强制等待、显示等待、隐式等待

1.强制等待

不管页面是否加载成功,强制等待,之后继续操作。

示例:

import time
from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://www.cnblogs.com/')
time.sleep(5)  #强制等待5秒,之后继续下面的操作

2.显示等待

设置等待条件,如果条件满足就继续下面的操作;如果不满足则一直等待,直至超出设定时间,抛出异常。

示例:

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
 
driver = webdriver.Chrome()
driver.get('https://www.cnblogs.com/')
#10是最长等待时间,每0.5秒去查询对应的元素。until后面跟的等待具体条件,EC是判断条件。
WebDriverWait(driver,10,0.5).until(EC.presence_of_element_located((By.ID, "sidenav_category")))

3.隐式等待

设置一个最长等待时间,在规定时间内网页加载完成,则执行下一步,否则一直等到时间结束,然后执行下一步。

示例:

from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get('https://www.cnblogs.com/')
driver.implicitly_wait(10) #隐式等待

  

posted @ 2023-08-29 17:59  Touch_the_Top  阅读(34)  评论(0编辑  收藏  举报