python -- selenium三种等待元素方法

随笔一些小小知识点。python

话很少说,开始啦。spa

 

python里最多见的3中元素等待操做:code

1、强制等待 ci

sleep(3)element

这个方法使用时只需引入time模块便可,如:import timeit

这种等待方式,时间到了就执行下面语句,如:sleep(3),3s事后执行下面代码,这种等待方式比较死板,效率低,而且不能保证在规定的时间内元素就被加载出来了。效率

 

2、隐性等待import

Implicitly_wait(xxx)程序

这个等待表示在规定的时间内页面全部元素都加载完了就执行下一步,不然一直等到时间截止,再去执行下一步。方法

这个方法相比方法一灵活,但缺点是,你须要的元素已经加载完成了,但页面尚未加载完成,还须要页面元素加载完成了再去执行下一步。

 

3、显性等待

WebDriverWait,配合该类的until()和until_not()方法,表示程序每隔x秒去判断一下指定的元素是否加载完,加载完了就执行下一步,不然继续每隔x秒去判断,指定时间截止。若是超时就会抛出异常。

用法:WebDriverWait(self.driver,15).until(EC.visibility_of_element_located((By.XPATH,'//span[@id="username"]')))

相关文章
相关标签/搜索