在跑自动化脚本时,有时候因为网络或者其他因素的影响会导致元素还没加载出来然后报not find element 错误,所以这时候就需要注意添加等待
selenium 的等待分为 3 种:
1 、固定等待
2 、智能等待
3 、显示等待
1 、固定等待:线程停止
time.sleep(2)
2 、隐式等待 ( 智能等待 ): 对网页所有元素都进行等待最大时间 10s ,但是只要元素加载出来就不会一直等 10 秒
driver.implicitly_wait(8)
对整个网页有效,一般都放在最前面,相当于全局变量一样
3 、显示等待:检查指定的元素有没有加载完成
inputtext = driver.find_element_by_name('wd')
res = WebDriverWait(inputtext,10,0.5).until(lambda x:inputtext)
假如隐式等待和显示等待同时都有,那么取大的那个
所以在做自动化的时候一定要充分考虑到元素的加载问题。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69940641/viewspace-2907422/ ,如需转载,请注明出处,否则将追究法律责任。