(1)强制\固定等待:(无论如何都会等待相应的时间)
time.sleep() 优点:用法非常简单,一般用于项目的调试,或者用于等待元素状态、本文发生变化
确定:等待时间固定,脚本中大量的使用,会导致脚本的运行效率低
(2)隐式等待/全局:(只有在元素不存在才会生效)
driver.implicitiy_wait(30)
设置一次之后(隐式等待只需设置一次),全局有效,在元素没有出现前只等待设置的最多时间,在等待时间内,该元素出现就停止等待。
(3)显示等待:
可针对每一个元素进行单独设置,等待条件更加灵活(显示和隐式同时设置,以最长的等待时间为准)
from selenium.Webdriver.support.wait import WebDriverWait
from selenium.Webdriver.support import expected_conditions as EC
WebDriverWait(ki, 5).until(EC.text_to_be_present_in_element(('xpath', "//*[@class='login-error-msg']"), '请输入密码'))