1、粗暴的等待时间方式
self.driver = webdriver.Chrome()
self.driver.get("https://www.baidu.com")
time.sleep(10)
不管结果如何都需要等待十秒,适用于调试,也可以用在代码中 不够灵活
2、隐式等待
self.driver = webdriver.Chrome()
self.driver.get("https://www.baidu.com")
self.driver.implicitly_wait(10)
此处的10秒为最大等待时间,如果在某个时间加载完就会直接执行下一步程序,不用类似于第一种的粗暴等待。
这种等待方式需要待页面加载完成才能执行下一步,有可能加载完了,但是页面还是转小圈圈,因此会加长测试用例的执行时间
3、显式等待
通过selenium.webdriver.support.ui模块提供的WebDriverWait类
每隔一段时间就去查看页面,如果条件成立就会执行下一个,执导超过时间就会抛出异常
wait = WebDriverWait(driver, 10, 0.2)
wait.until(EC.visibility_of(out_box))
具体可以参考:expected_conditions是selenium的一个模块,其中包含一系列可用于判断的条件:
https://blog.csdn.net/weixin_42575593/article/details/83304005