首页 > 其他 > 详细

元素等待

时间:2019-03-12 14:53:52      阅读:156      评论:0      收藏:0      [点我收藏+]

在自动化过程中,元素出现受网络环境、设备性能等多种因素影响。因此元素加载的时间可能不一致,从而会导致元素无法定位超时报错,那么遇到这样的问题我们如何解决呢????

元素等待的作用

设置元素等待可以灵活的制定等待定位元素的时间,从而增强脚本的健壮性,提高执行效率

元素等待的类型

强制等待

设置固定的等待时间,使用sleep()方法

import  time

#强制等待5秒
time.sleep(5)

隐式等待
隐式等待是针对全部元素的等待时间

driver.implicitly_wait(10)

显示等待
针对某个元素设置的等待时间

from selenium.webdriver.support.ui import WebDriverWait

WebDriverWait(driver,timeout,poll_frequency-0.5,ignored_exceptions-None)

driver:WebDrIverson

timeout:最长超时时间

poll_frequency:休眠时间的时间间隔

ignored_exceptions:超时后的异常信息,默认情况下抛:NoSuchElementException异常

WebDriverWait()一般和until()和until_not()方法配合使用,lambda提高了一个运行时动态创建函数的方法

1 from selenium.webdriver.support.ui import WebDriverWait
2 
3 WebDriverWait(driver,10).until(lambda x:x.find_element_by_id("elementID"))

 

元素等待

原文:https://www.cnblogs.com/t-rex/p/10516611.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!