一、强制等待: sleep()
强制等待是利用python语言自带的time库中的sleep()方法:
import time
sleep(5) #等待5秒
设置固定休眠时间,单位为秒。
缺点:不智能,使用太多的sleep会影响脚本运行速度,不到万不得已尽可能少用。
二、隐式等待: implicitly_wait()
隐式等待相比强制等待更智能,顾明思义,在脚本中我们一般看不到等待语句,但是它会在每个页面加载的时候自动等待;隐式等待只需要声明一次,一般在打开浏览器后进行声明。
声明之后对整个drvier的生命周期都有效,后面不用重复声明。
driver = webdriver.Chrome()
driver.implicitly_wait(10)
implicitly_wait()方法用来等待页面加载完成(直观的就是浏览器tab页上的小圈圈转完),implicitly_wait(10),超时时间10s,10秒内一旦加载完成,就执行下一条语句;如果10秒内页面都没有加载完,就超时抛出异常。
隐式等待在自动化测试中的运用,看代码:
from selenium import webdriver
import unittest
class TestBase(unittest.TestCase):