selenium等待的三种方法
隐式等待
隐式等待要等页面全部加载完成后才会开始查找元素.缺点是效率低.
强制等待
代码暂停
显式等待
只等待指定的元素加载完成.效率比较高.
显示等待示例代码
from selenium.webdriver.support.ui import WebDriverWait
def ele_wait(driver, loc):
"""
WebDriverWait(driver,timeout=20,poll_frequency=0.5)
WebDriverWait中timeoute是总共等待多少秒,poll_frequency默认参数是0.5秒查找一次
until的意思是直到....时!unit(method这是方法或者函数,就是找到元素)
lamadba 匿名函数中的x 就是传进来的driver
"""
# 返回找到的元素,如果找不到元素会抛出超时异常
return WebDriverWait(driver, 20).until(lambda x: x.find_element(*loc))
# 调用的时候直接用元素名去接收函数即可.
# 例如
ele = ele_wait(driver,元素)
显示等待和隐式等待的区别