selenium三种等待时间设置方式

为了保证脚本的稳定性,有时候需要引入等待时间,等待页面加载元素后再进行操作,selenium提供三种等待时间设置方式。
1、sleep():固定休眠时间设置

import time
time.sleep(1)

2、implicitlyWait() :隐式等待、全局等待

机制:每隔500毫秒在界面进行一次检查 检查到了就不等待了  在规定的时间内检查不到就会报错
driver.implicitly_wait(4)

3、WebDriverWait():显示等待

 

语法格式如下:
WebDriverWait(driver,timeout,poll_frequency=0.5,ignore_exceptions=None)

driver:WebDriver的驱动程序(IE,火狐,谷歌或远程)

timeout:最长超时时间,默认以秒为单位
poll_frequency:休眠时间的间隔(步长)时间,默认为0.5秒(即每500毫秒扫描一次页面)
ignore_exceptions:超时后的的异常信息,默认情况下抛NoSuchElementException异常

 

#显示等待  比较难写
# poll_frequency 间隔检查时间  根据设置的时间 检查一次 默认是500毫秒检查一次
from selenium.webdriver.support.wait import WebDriverWait

driver_wait=WebDriverWait(driver,20,poll_frequency=1)
element=driver_wait.until(lambda x:x.find_element(By.XPATH,'//div'))
print(element.get_attribute('class'))

 

posted @ 2021-02-27 14:04  重走青春LV  阅读(1152)  评论(0编辑  收藏  举报