selenium+python自动化测试:三种等待方式

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

原文地址:https://www.cnblogs.com/zz-1021/p/13777330.html