当前位置: 首页 > article >正文

selenium学习:等待方式

隐式等待

1.针对查找元素设置最大的超时时间
2.可以全局性的设置
3.不满足时,提示no such element

driver.implicitly_wait(5) #对查找元素最大的超时时间,如果超过最大等待时间后,没有找到元素,则会报错:no such #elementexception

显式等待

直到传递给他的条件得到解决,才会继续,否则会报错。他会以一定频率调用该条件,直到等待超时结束
1.不仅仅针对元素查找,还支持很多条件
2.显示等待支持自定义条件
3.不满足时报错TimeoutException

  wait = WebDriverWait(driver,10)#常见显示等待对象,其中包含参数(driver,timeout=10,poll_frequency=0.5) 超时时间时10s,每0.5秒去轮询
  login_link=wait.until(expected_conditions.presence_of_element_located((By.LINK_TEXT,'登录')))
  #expected_conditions 方法名字
  #(By.LINK_TEXT,'登录')是一个元组

自定义

参考expected_conditions里面的方法
1.页面包含指定元素

def text_contains(text:str):
    def _predicate(driver):
        return text in driver.page_source
    return _predicate

expected_conditions文件中的方法
在这里插入图片描述
2.自定义显示等待-点击元素成功

def click_success(locator):
        def _predicate(driver):
            try:
                element = driver.find_element(*locator)
                element.click()
                return True
            except:
                return False

        return _predicate
    wait = WebDriverWait(driver,timeout=10)
    wait.until(click_success((By.LINK_TEXT,'进入个人中心')))
    # driver.find_element(By.LINK_TEXT,'进入个人中心').click()

sleep()

time.sleep(n)


http://www.kler.cn/a/430537.html

相关文章:

  • C#实现调用DLL 套壳读卡程序(桌面程序开发)
  • layui多图上传,tp8后端接收处理
  • Elasticsearch-索引的批量操作
  • 有没有免费提取音频的软件?音频编辑软件介绍!
  • 实战分享:开发设计文档模版及编写要点
  • Kubernetes 常用的网络插件
  • 网络安全法-网络运行安全
  • Scala正则表达式
  • UAC2.0 speaker——带反馈端点的 USB speaker(16bit 单声道)
  • 大数据新视界 -- Hive 临时表与视图的应用场景(下)(30 / 30)
  • 机器学习 (西瓜书) 内容概要【不含数学推导】
  • MySQL 通过 Next-Key Locking 技术避免幻读问题
  • 【JavaEE】多线程(7)
  • python如何与前端交互
  • NFT Insider #158:$SAND 和 LAND 价格反弹
  • 【 C++ 入门基础】 —— 双壁传奇C语言和C++的爱恨情仇
  • PostGIS分区表学习相关
  • LLM学习笔记(18)序列标注任务(测试模型阶段)
  • 基于STM32的机器人手臂控制
  • 【杂记】vLLM多卡推理踩坑记录
  • VB.NET 从入门到精通:开启编程进阶之路
  • 7_计算机网络五层体系结构
  • 方案介绍|CW32L010安全低功耗MCU:驱动高速风筒新力量
  • day10性能测试(2)——Jmeter
  • fastadmin框架同时使用 阿里云oss和阿里云点播
  • CRF(Conditional Random Fields,条件随机场)的输入数据形状通常取决于其应用场景和具体实现