显示等待/固示等待/隐式等待的区别,用法

时间:2021-07-14
本文章向大家介绍显示等待/固示等待/隐式等待的区别,用法,主要包括显示等待/固示等待/隐式等待的区别,用法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
显示等待/固示等待/隐式等待的区别及用法详解

'''
等待方式:
第一种 线程等待:sleep 不管元素有没有加载出来都会等待多少秒
第二种 隐式等待:作用与全局implicitly_wait(5)如果在5秒全部加载完成则往下
执行超过5秒则报错,如果在第一秒就加载出来了就往下开始执行,如果超过时间
则报错
第三种 显式等待:需要导入显式等待的包
'''
from selenium.webdriver.support.wait import WebDriverWait#导入显式等待的包
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By #导入by类
driver = webdriver.Chrome()
driver.get('http://www.baidu.com')

"""
方法1:
固式等待sleep ----导入time模块引入sleep方法
又称线性等待一般作用于调试代码用
"""
sleep(3)
"""
方法2:
隐式等待 作用于全局"""
driver.implicitly_wait(5)
driver.maximize_window()
driver.find_element_by_id('kw').send_keys('学测试到多测师')
"""
方法3
显示等待 需要导入--
from selenium.webdriver.support.wait import WebDriverWait#导入显式等待的包
from selenium.webdriver.support import expected_conditions as EC
"""
WebDriverWait(driver,5,poll_frequency=0.5).until(EC.presence_of_element_located((By.ID,'su')))
"""超时时间式5秒,每0.5秒刷新一次页面元素,如果没有发现页面元素就会抛错 作用于特定的元素"""
driver.find_element_by_id('su').click()
sleep(3)
driver.close()

原文地址:https://www.cnblogs.com/manxingsir/p/15012711.html