写点什么

隐式等待、显示等待和强制等待?

用户头像
Geek_6370d5
关注
发布于: 2021 年 03 月 28 日
隐式等待、显示等待和强制等待?

显示等待 WebDriverWait()、隐式等待 implicitly_wait()、强制等待 sleep()


先说强制等待 sleep()

单位是秒;

无论结果如何都要强制等待,到设置的时间后再执行接下来的代码.

#!/usr/bin/pythonimport time print "Start : %s" % time.ctime()#time.sleep( 5 )print "End : %s" % time.ctime()

复制代码


有无 sleep()的对比图,看结果输出有 5 秒差



显示等待 WebDriverWait()

单位是秒;

针对某个单独元素;

会等待界面加载完成,在规定时间内,每隔 0.5 就检查一次,

找到设置的条件后,会继续执行后续代码,如果在规定时间内找不到就抛出异常.

#!/usr/bin/pythonfrom selenium import webdriverfrom selenium.webdriver.support.wait import webDriverWait
driver = webdriver.Chrome()driver.get('https'//www.baidu.com)element = webDriverWait(driver,5,0.5).until((EC.presence_of_element_located(By.ID,'kw')))element.sendkeys('显示等待')
复制代码


隐式等待 implicitly_wait()

单位是秒;

隐式等待针对的是全局的所有元素,

会等待界面加载完成,在规定时间内不断刷新,

找到设置的条件后,会继续执行后续代码,如果在规定时间内找不到就抛出异常.


优先使用显示等待

因为隐式等待会不断刷新,耗内存.


发布于: 2021 年 03 月 28 日阅读数: 8
用户头像

Geek_6370d5

关注

还未添加个人签名 2020.02.05 加入

还未添加个人简介

评论

发布
暂无评论
隐式等待、显示等待和强制等待?