赞
踩
隐形等待
是设置了一个最长等待时间,如果在规定时间内网页加载完成,则执行下一步,否则一直等到时间截止,然后执行下一步。注意这里有一个弊端,那就是程序会一直等待整个页面加载完成,也就是一般情况下你看到浏览器标签栏那个小圈不再转,才会执行下一步,但有时候页面想要的元素早就在加载完成了,但是因为个别js之类的东西特别慢,我仍得等到页面全部完成才能执行下一步,我想等我要的元素出来之后就下一步怎么办?有办法,这就要看selenium提供的另一种等待方式——显性等待wait了
显性等待
WebDriverWait,配合该类的until()和until_not()方法,就能够根据判断条件而进行灵活地等待了。它主要的意思就是:程序每隔xx秒看一眼(默认0.5s),如果条件成立了,则执行下一步,否则继续等待,直到超过设置的最长时间,然后抛出TimeoutException
***最大区别:
***1.隐形等待需要等到整个页面加载完成才执行下一步,显式等待只需要找到元素就开始执行下一步。所以显式等待更省时间
2.隐形等待是一个全局等待,前面设置了,后面的元素查找也都会进行隐式等待
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。