Python丨如果是动态网站可以采用selenium的三种等待方式进行解读

欢迎点击右上角关注小编,除了分享技术文章之外还有很多福利,私信学习资料可以领取包括不限于Python实战演练、PDF电子文档、面试集锦、学习资料等。

Python丨如果是动态网站可以采用selenium的三种等待方式进行解读

如果网站采用了动态html技术,那么页面上的部分元素出现时间便不能确定,这个时候就可以设置一个等待时间,强制要求在时间内出现,否则报错,那么我可以用等待。

说到等待,又有三种等法,且听小编 一 一道来:

1. 强制等待

第一种也是最简单粗暴的一种办法就是强制等待 time.sleep(10) 。

Python丨如果是动态网站可以采用selenium的三种等待方式进行解读

这种等待方式时间到了就执行下个语句,但比较死板,不能保证在等待的时间内元素真正被加载了出来。

2. 隐性等待

第二种办法叫隐性等待,driver.implicitly_wait(20),这个等待表示在规定的时间内页面的所有元素都加载完了就执行下一步,否则一直等到时间截止,然后再继续下一步。

Python丨如果是动态网站可以采用selenium的三种等待方式进行解读

3. 显性等待

第三种办法就是显性等待WebDriverWait,配合该类的until()和until_not()方法,就能够根据判断条件而进行灵活地等待了。

Python丨如果是动态网站可以采用selenium的三种等待方式进行解读

表示程序每隔x秒去判断一下指定的元素是否加载完,加载完了就执行下一步,否则继续每隔x秒去判断,指定时间截止。如果超时就会抛出异常。

Python丨如果是动态网站可以采用selenium的三种等待方式进行解读

相关推荐