1、第一种方法WebDriverWait首先分别import所需模块webdriver,By,掳姗浚瑙WebDriverWait和expected_conditions。from sele荏鱿胫协nium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as EC # available since 2.26.0
2、使用WebDriverWait等待加载元素# 自动打开Chrome浏览器browser = we水瑞侮瑜bdr足毂忍珩iver.Chrome()browser.get("https://www.baidu.com")try: element = WebDriverWait(browser, 10).until(EC.presence_of_element_located((By.ID, "myDynamicElement")))finally: browser.quit()
3、第二种方法,使用implicitly_wait,设置整个页面的超时时间。from selenium import webdriver# 自动打开Chrome浏览器browser = webdriver.Chrome()browser.implicitly_wait(10) # secondsbrowser.get("https://www.baidu.com")
4、第三种方法使用time.sleep设定强制休眠时间。from selenium import webdriverimport time# 自动打开Chrome浏览器browser = webdriver.Chrome()browser.get("https://www.baidu.com")time.sleep(10)
5、上述三种方式的区别:WebDriverWait:等待指定元素加载完毕后,再继续执行后续代码。implicitly_wait:针对页面,对所有元素设置超时时长。sleep:强制等待,不管画面加载是否完成,都会休眠固定时长。