显示等待WebDriverWait()、隐式等待implicitly_wait()、强制等待sleep()
先说强制等待sleep(),
单位是秒;
无论结果如何都要强制等待,到设置的时间后再执行接下来的代码.
#!/usr/bin/python
import time
print "Start : %s" % time.ctime()
#time.sleep( 5 )
print "End : %s" % time.ctime()
有无sleep()的对比图,看结果输出有5秒差
显示等待WebDriverWait(),
单位是秒;
针对某个单独元素;
会等待界面加载完成,在规定时间内,每隔0.5就检查一次,
找到设置的条件后,会继续执行后续代码,如果在规定时间内找不到就抛出异常.
#!/usr/bin/python
from selenium import webdriver
from selenium.webdriver.support.wait import webDriverWait
driver = webdriver.Chrome()
driver.get('https'//www.baidu.com)
element = webDriverWait(driver,5,0.5).until((EC.presence_of_element_located(By.ID,'kw')))
element.sendkeys('显示等待')
隐式等待implicitly_wait(),
单位是秒;
隐式等待针对的是全局的所有元素,
会等待界面加载完成,在规定时间内不断刷新,
找到设置的条件后,会继续执行后续代码,如果在规定时间内找不到就抛出异常.
优先使用显示等待
因为隐式等待会不断刷新,耗内存.