0
点赞
收藏
分享

微信扫一扫

强制等待,隐式等待和显式等待的区别

颜路在路上 2022-01-04 阅读 109

强制等待:

  1. time.sleep(3)
  2. 在需要等待的操作之前加上等待时间time.sleep(3)强制等待固定时间3s。

隐式等待:

  1. driver.implicitly_wait(5)
  2. 隐式等待是一种智能等待,可以自动判断需要等待多久,括号中的5代表的是最大等待时间
  3. 隐式等待只需要在声明driver之后,写一次,就能影响后面所有的代码。
  4. 隐式等待判断的是页面元素的加载,如果页面没有刷新过,隐式等待就不起作用,比如跳弹出框。

显式等待:

显示等待的代码定义了等待条件,只有该条件触发,才执行后续代码。

# 导入包
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
# 显式等待
WebDriverWait(driver, 30, 0.5).until(expected_conditions.alert_is_present())

上述代码最大等待时间为30s,每0.5s去检测一次条件是否成立,一旦条件达到就执行下一步操作,否则最多等待30s还没达到条件就报错。

alert_is_present是条件,判断是否存在弹出框。

举报

相关推荐

0 条评论