做自动化的时候推荐使用显示等待
1 线程等待: Thread.time(xxx) 一般用于调式脚本的时候用到
2. 隐试等待:implicitlyWait driver.manage().timeouts().implicitlyWait(xx, TimeUnit.SECONDS) 等待200秒
隐式等待,是设置的全局等待。设置等待时间,是对页面中的所有元素设置加载时间,如果元素不是马上就能定位成功就会在固定等待时长内不停去搜索元素,在设置时间内发现元素则执行后面操作,如果超出了设置的时间还没发现元素则抛出异常。隐式等待可以理解成在规定的时间范围内,浏览器在不停的刷新页面,直到找到相关元素或者时间结束。
3. 显示等待: WebDriverWait new WebDriverWait(driver, xx).until(ExpectedConditions.presenceOfElementLocated(By))
显示等待是等待指定元素设置的等待时间,在设置时间内,默认每隔0.5s检测一次当前的页面这个元素是否存在,如果在规定的时间内找到了元素则执行相关操作,如果超过设置时间检测不到则抛出异常。默认抛出异常为:NoSuchElementException。