selenium隐式等待和显式等待

本文详细介绍了在网页自动化测试中设置元素等待的必要性,区分了隐式等待和显示等待两种方法,以及它们的适用场景、参数和区别,有助于开发者避免因元素未加载导致的异常。

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

六、元素等待

   6.1 为什么要设置元素等待

      由于电脑配置或网络原因,在查找元素时,元素代码未在第一时间内被加载出来,而抛出未找到元素异常。
   6.2 什么是元素等待

      元素在第一次未找到时,元素等待设置的时长被激活,如果在设置的有效时长内找到元素,继续执行代码,如果超出设置的时长未找打元素,抛出未找到元素异常。
   6.3 元素等待分类
      1. 隐式等待
      2. 显示等待
   6.4 隐式等待

      方法:driver.implicitly_wait(30) # 一般情况下设置30秒
      特色:
         1. 针对所有元素生效。
         2. 一般情况下为前置必写代码(1.获取浏览器驱动对象;2. 最大化浏览器;3. 设置隐式等待)
         
   6.5 显示等待

      方法:WebDriverWait(driver,timeout=10, poll_frequency=0.5).until(lambda x:x.find_element_by_id("#user")).send_keys("admin")
      参数:
         timeout: 超时时间
         poll_frequency:访问频率,默认0.5秒找一次元素
         x: x为driver,它是WebDriverWait类将传入的driver赋值给类self._driver,until方法调用了self._driver;
         
      提示: 
         1. WebDriverWait(driver,timeout=10, poll_frequency=0.5).until(lambda x:x.find_element_by_id("#user"))返回的一个元素。
         
   6.6 显示等待与隐式等待区别:

      1. 显示等待:针对单个元素生效
      2. 隐式等待:针对全局元素生效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Guff_hys

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值