Webdriver提供了两种类型的等待:显式等待和隐式等待
显式等待
显示等待是在某个条件成立时继续执行,否则达到最大时间后抛出超时异常
from selenium.webdriver.support import expected_conditions
element=WebDriverWait(driver,5,0.5).until(expected_conditions.presence_of_element_located((By.ID,"kw")))
element.send_keys('selenium')
expected_conditions类提供了很多预期条件的判断方法
隐式等待
隐式等待是通过特定的时间等待页面的某元素加载完成,超过设置的时间会抛出异常
from time import ctime
driver.implicitly_wait(10)
这10秒并非一个固定的等待时间,并不影响脚本的执行速度。
并不是对页面上的某个元素进行等待,当脚本执行到某元素的定位时,如果可以定位到,继续执行,如果定位不到,则以轮询的方式判断元素是否可以定位到,否则抛出异常
sleep休眠方法
在某一位置做固定时间的休眠
from time import sleep
sleep(2)