当我们打开一个页面的时候,页面先进行加载,再进行渲染。
页面先加载,再渲染 渲染就是让页面按照规范好的格式显示出来。 加载资源:图片资源、数据资源、字体....加载的东西:资源(css、png、class、html) 加载这个动作是将服务器的资源下载到浏览器中,然后提供给浏览器进行渲染。 加载时间影响因素:网速、硬件设备、性能、资源的大小。 渲染:将下载好的资源很好的显示出来。 页面未加载出来就执行元素定位语句的话,会失败,所以要加等待。
1.强制等待:进程休眠.通过进程休眠,从而限制整个脚本等待下一个语句的执行,整个等待过程中,不关注浏览器的加载状态。
实现方式:time.sleep(3) #强制等待,要求获整个进程要3秒的等待
2.隐性(隐式)等待:等待页面不处于加载状态,不会保障整个页面所有的资源一定要加载成功。
实现方式:driver.implicitly_wait(3)
隐性等待,只要使用一次,后面也存在这个属性。单位为秒,是一个数字类
为什么叫隐性等待? #本质上上是对浏览器本身得操作,设定了浏览器在实例化对象得某个参数;加载资源等待的时间 #当浏览器不在加载状态的时候,直接执行下一个步骤。
3.显示(显性)等待:页面渲染的时候,可能要定位的元素还没有渲染成功。