selenium ----强制等待、隐式等待和显示等待

直接等待

使用方式

time.sleep(等待时间)

原理

强制线程等待

适用场景

调试代码,临时性添加

隐式等待

使用方式

driver.implicitly_wait(等待时间)

原理

在时间范围内,轮询查找元素

适用场景

解决找不到元素问题,无法解决元素交互问题(即无法控制css或js调用程序代码过程中花费的这段时间)

显示等待

使用方式

WebDriverWait(driver实例, 最长等待时间,轮询时间).until(结束条件)

原理

设定特定的等待条件,轮询操作(即先设定最长等待时间,在轮询时间间隔内,轮询访问css或js调用程序代码后的元素,直到访问结果满足until()函数中的元素属性值)

适用场景

解决特定条件下的等待问题,比如点击等交互性行为(即定位的元素,需要经过css或js调用程序代码后才能显示出来时,可以通过显示等待来判断该元素何时能被加载出来。)