# 1、强制等待
time.sleep(n):强制暂停 n 秒之后再执行之后的代码
# 2、隐式等待
driver.implicitly_wait(n):设置隐式等待的时间,设置一次对整个生命周期生效,等待元素出现再往下执行,如果元素超过了设置的最大等待时间还未出现就会报错
# 3、显示等待:可以指定等待元素处于某个状态
常见的等待条件:
①元素存在:presence_of_element_located
②元素可见:visibility_of_element_located
③元素可点击:element_to_be_clickable
④等待新窗口出现:new_window_is_opened
⑤加载并切换到iframe中:frame_to_be_available_and_switch_to_it
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
1)等待元素的定位表达式:loc=(By.XXX,"表达式")
2)使用WebDriverWait创建一个等待对象,需要3个参数
参数 1:driver对象
参数 2:等待的最大时间
参数 3:轮询时间(每间隔多长时间去查询一次元素是否出现)
3)创建一个等待条件对象,传入定位表达式:ec=EC.presence_of_element_located(loc)
4)调用等待对象的until(),方法传入等待的条件