selenium等待的三种方法

隐式等待

隐式等待要等页面全部加载完成后才会开始查找元素.缺点是效率低.

强制等待

代码暂停

selenium等待的三种方法_显式

显式等待

只等待指定的元素加载完成.效率比较高.

selenium等待的三种方法_显式_02

显示等待示例代码

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,元素)

显示等待和隐式等待的区别

selenium等待的三种方法_默认参数_03