selenium显式等待、隐式等待和休眠

 

显示等待:指定等待的元素

隐式等待:针对全局,无指定元素

休眠:指定等待时间,不管元素是否存在

 

显式等待:element = WebDriverWait(浏览器,最大等待时间,检测频率)      //时间单位s,检查频率默认0.5s,可以省略

显式等待需要导入WebDriverWait类:from selenium.webdriver.support.ui import WebDriverWait

一般搭配until()和until_not()使用:

  • until()调用该方法,直到返回值为ture
  • until_not():调用该方法,直到返回值为false
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC 

dr = webdriver.Firefox()
dr.get("https://baidu.com")

element = WebDriverWait(dr,5).until(
    EC.presence_of_element_located((By.ID, "kw"))
    )
print element

 

presence_of_element_locate() 判断元素是否存在页面中,但元素不一定可见,需要导入expected_conditions和by

如果无法定位,返回信息timeout

 

隐式等待:implicitly_wait(最大等待时间) 

from selenium import webdriver

dr = webdriver.Firefox()
dr.implicitly_wait(10) 
dr.get("https://baidu.com")

dr.find_element_by_id('kw')

 

 

休眠:sleep(休眠时间)

休眠需要导入sleep类:from time import sleep

 

posted @ 2018-11-04 20:38  黄萝卜和吱吱兔  阅读(885)  评论(0编辑  收藏  举报