web自动化的三大等待
由于web网页打开后需要时间进行数据的传送,页面的渲染,所以我们在写web自动化脚本的时候,需要等待它加载完所有的页面元素,我们才进行操作或点击。同时这种等待也是为了提高脚本的稳定性。 selenium中有三种等待,分别是强制等待,隐性等待和显性等待: 1、强制等待 不管浏览器是否加载完,程序都要等待设置的时间,不建议经常使用该等待方式,会严重影响程序的执行速度。 time.sleep(秒数)-----这里的时间单位是秒,表示强制等待几秒 在使用该函数前要导入time模块 import time from selenium import webdriver driver = webdriver.Chrome() driver.get("http://ke.qq.com") time.sleep(3) 2、隐性等待 隐形等待是设置了一个最长等待时间,如果在规定时间内网页加载完成,则执行下一步,否则一直等到时间截止,然后执行下一步。注意这里有一个弊端,那就是程序会一直等待整个页面加载完成。隐性等待对driver的整个周期都起作用,所以只要设置一次即可。 implicitly_wait(30)----隐性等待,最长时长为30秒 from selenium import webdriver driver = webdriver.Chrome() driver.get("http://ke