1.强制等待

最简单粗暴的等待方法-sleep(),比较简单就不做多解释

2.隐式等待

implicitly_wait(xx)设置隐式等待时间,在xx秒内元素出现就可以,如果不出现,会等待xx秒后报没找到元素错误。,这个用法是作用在整个driver周期,千万不要拿着当sleep用

3.显式等待

WebDriverWait()与until()和until_not()方法配合使用,每隔xx秒直到什么元素出现才会继续下一步,并且设置最长等待时间,超过了就报错TimeoutException

# -*- coding: utf-8 -*-

fromseleniumimportwebdriver

fromtimeimportsleep

fromselenium.webdriver.support.waitimportWebDriverWait

fromselenium.webdriver.supportimportexpected_conditionsasEC

driver = webdriver.Firefox()

driver.get(‘http://www.baidu.com’)

sleep(3)

ele=driver.find_element_by_id(‘kw’)

try:

WebDriverWait(driver,10,1).until(EC.presence_of_element_located(ele))

print’找到元素’

exceptExceptionase:

printe

三种等待方式,我觉得就sleep比较好用!!