您当前的位置:首页 > 计算机 > 编程开发 > Python

Selenium-自动化测试之时间等待(WebDriverWait、implicitly_wait、time.sleep)

时间:05-20来源:作者:点击数:

访问一个网站,是需要加载时间的,加载时间的长短,也在于网速的快慢,为了避免一些记载时间的报错,我们需要在页面的自动化测试当中,添加一些时间等待!

第一种:显式等待(WebDriverWait)
WebDriverWait(browser,timeout,poll_frequency=0.5,ignored_exceptions=None)
字段解释:

browser:浏览器的驱动

timeout:设置最大超时时间,默认单位秒(s)

poll_frequency:检测的间隔时间,默认0.5秒

ignored_exceptions:超时后的异常信息,默认抛出NoSuchElementException异常

另外:WebDriverWait一般由until()或until_not()方法配合使用
WebDriverWait(browser,3).until(browser.find_element_by_id("name"),message=None).send_keys("zhangsan")

解释:如果在HTML上找到id为name这个元素,就输入信息“zhangsan”

WebDriverWait(browser,3).until_not(browser.find_element_by_id("name").is_displayed(), message=None)

解释:判断id为name这个元素是否已经在html上消失,不是肉眼可见的

第二种:隐式等待(implicitly_wait)

隐式等待是通过一定的时长等待页面上某元素加载完成。如果超出了设置的时长元素还没有被加载,则抛出NoSuchElementException异常,如果在设置时间内找到某元素,会马上执行后面的操作;

# 等待3秒
browser.implicitly_wait(3)
第三种:休眠(time.sleep)
# 等待3秒
time.sleep(3)

解释:就算在3秒内找到指定元素,也强制等待3秒

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门