隐式等待:
表示在自动化实施过程中,为查找页面元素或者执行命令设置一个最长等待时间,如果在规定时间内也没元素被找到或命令被执行完成,则执行下一步,否则继续等待直到设置的最长等待时间截止
隐式等待的好处是不用像强制等待(time.sleep(n))的方法一样死等固定时间n秒,可以在一定程度上提升测试用例的执行效率。但是这种方法也有一定弊端,就是程序将会一直等待到整个页面加载完成,也就是说浏览器窗口标签栏不再出现小圈圈,才会继续执行下一步,比如某些时候页面元素已经加再好了,但是某个js文件等待资源慢了点,此时程序仍然会等待页面全部加载完成才会执行下一步,这样加长了测试用例的执行时间。
注意:隐式等待时间只需要设置一次,然后他将在driver整个生命周期都起作用
显示等待
显示等待是针对于某个特定的元素设置的等待时间,如果在规定的时间范围内,没有找到元素,则会抛出异常,如果在规定的时间内找到了元素,则直接执行,即找到元素就执行相关操作。
显式等待比隐式等待更节约执行时间,因此更推荐使用显式等待方式判断页面元素是否存在