随笔一些小小知识点。
话不多说,开始啦。
python里最常见的3中元素等待操作:
一、强制等待
sleep(3)
这个方法使用时只需引入time模块即可,如:import time
这种等待方式,时间到了就执行下面语句,如:sleep(3),3s过后执行下面代码,这种等待方式比较死板,效率低,并且不能保证在规定的时间内元素就被加载出来了。
二、隐性等待
Implicitly_wait(xxx)
这个等待表示在规定的时间内页面所有元素都加载完了就执行下一步,否则一直等到时间截止,再去执行下一步。
这个方法相比方法一灵活,但缺点是,你需要的元素已经加载完成了,但页面还没有加载完成,还需要页面元素加载完成了再去执行下一步。
三、显性等待
WebDriverWait,配合该类的until()和until_not()方法,表示程序每隔x秒去判断一下指定的元素是否加载完,加载完了就执行下一步,否则继续每隔x秒去判断,指定时间截止。如果超时就会抛出异常。
用法:WebDriverWait(self.driver,15).until(EC.visibility_of_element_located((By.XPATH,'//span[@id="username"]')))