selenium的显式等待和隐式等待

本文深入解析Selenium中显式等待和隐式等待的概念及应用。显式等待针对特定元素设置等待时间,直至元素出现或超时抛出异常。隐式等待在创建driver时设置,持续刷新页面直到找到元素。文章提供了详细的参数解释和代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

selenium的显式等待和隐式等待

显式等待

显示等待,就是明确的要等到某个元素的出现或者是某个元素的可点击等条件,等不到,就一直等,除非在规定的时间之内都没找到,那么久跳出Exception
显式等待 WebDriverWait():是针对于某个特定的元素设置的等待时间。

WebDriverWait(driver, timeout, poll_frequency=POLL_FREQUENCY, ignored_exceptions=None)

总体说明:在设置时间timeout内,每隔一段时间poll_frequency(默认0.5秒) 检测一次当前页面,元素是否存在,如果超过设置时间还检测不到则抛出异常ignored_exceptions,如果元素存在则立即反馈。

参数解释:
driver:webdriver的驱动;
timeout:最长超时时间,默认以秒为单位;
poll_frequency:休眠时间(步长)的间隔检测间隔时间,默认0.5s;
ignored_exceptions: 超时后的异常信息,默认情况下抛 “NoSuchElementException"异常;

官方的举例:
element = WebDriverWait(driver, 10).until(lambda x: x.find_element_by_id(“someId”))

隐式等待

原理:隐式等待,就是在创建driver时,为浏览器对象创建一个等待时间,这个方法是得不到某个元素就等待一段时间,直到拿到某个元素位置。
注意:在使用隐式等待的时候,实际上浏览器会在你自己设定的时间内部断的刷新页面去寻找我们需要的元素

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
 
driver = webdriver.Chrome()
driver.implicity_wait(10)
driver.get('http://www.baidu')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值