首页 > 其他分享 >08.强制等待与隐式等待

08.强制等待与隐式等待

时间:2023-12-19 14:45:24浏览次数:33  
标签:08 元素 等待时间 轮询 等待 隐式 加载

为什么要添加等待

  • 避免页面未渲染完成后操作,导致的报错

直接等待

  • 解决方案:在报错的元素操作之前添加等待
  • 原理:强制等待,线程休眠一定时间
  • 演练环境:雪球 app
  • time.sleep(3)

  

隐式等待

  • 问题:难以确定元素加载的具体等待时间。
  • 解决方案:针对于寻找元素的这个动作,使用隐式等待添加配置。
  • 演练环境:雪球 app
  • 原理:隐式等待是一种全局的等待方式,设置一个等待时间,轮询查找(默认 0.5 秒)元素是否出现,如果没出现就抛出异常

  #设置一个等待时间,轮询查找(默认0.5秒)元素是否出现,如果没出现就抛出异常

  driver.implicitly_wait(3)

隐式等待无法解决的问题

  • 元素可以找到,使用点击等操作,出现报错
  • 原因:
    • 页面元素加载是异步加载过程,通常 xml 会先加载完成,相应的元素属性后加载
    • 元素存在与否是由 xml 决定,元素的交互是由属性决定
    • 隐式等待只关注元素能不能找到,不关注元素能否点击或者进行其他的交互
  • 解决方案:使用显式等待

显式等待基本使用(初级)

  • 示例: WebDriverWait(driver实例, 最长等待时间, 轮询时间).until(结束条件)
  • 原理:在最长等待时间内,轮询,是否满足结束条件
  • 演练环境: 雪球app
  • 注意:在初级时期,先关注使用

总结

 
类型使用方式原理适用场景
直接等待 time.sleep(等待时间)) 强制线程等待 调试代码,临时性添加
隐式等待 driver.implicitly_wait(等待时间) 在时间范围内,轮询查找元素 解决找不到元素问题,无法解决交互问题
显式等待 WebDriverWait(driver实例, 最长等待时间, 轮询时间).until(结束条件) 设定特定的等待条件,轮询操作 解决特定条件下的等待问题,比如点击等交互性行为

 

标签:08,元素,等待时间,轮询,等待,隐式,加载
From: https://www.cnblogs.com/csfsz/p/17913705.html

相关文章

  • P1082 [NOIP2012 提高组] 同余方程
    求关于\(x\)的同余方程\(ax\equiv1(\bmodb)\)的最小正整数解。根据取模的性质,这个方程相当于\(ax+by=1\),其中\(y\)为负数,形式类似于扩展欧几里得的经典形式\(ax+by=\gcd(a,b)\)。方程\(ax+by=m\)有整数解的必要条件是\(\gcd(a,b)|m\),此处\(m=1\),所以有\(\gcd(a,......
  • MySQL-08.聚合函数和SQL(DQL)的执行流程
    C-08聚合(分组)函数和SQL(DQL)执行流程上一章,讲到了SQL单行函数。实际上SQL函数还有一类,叫做聚合函数,或者多行,分组函数,它是对一组数据进行汇总的函数,输入的是一组数据的集合,输出的是单个值。1.聚合函数的介绍什么是聚合函数聚合函数作用于一组数据,并对一组数据返回一个值。......
  • OpenAI 工程师自曝开发 ChatGPT 仅用时 8 天丨 RTE 开发者日报 Vol.108
     开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的**会议**」,但内容仅代表编辑......
  • 08 MVVM框架
    08MVVM框架WPF是WindowsPresentationFoundation的缩写,它是一种用于创建桌面应用程序的用户界面框架。WPF支持多种开发模式,其中一种叫做MVVM(Model-View-ViewModel)。在WPF开发中,经典的编程模式是MVVM,是为WPF量身定做的模式,该模式充分利用了WPF的数据绑定机制,最大限度地降低了Xa......
  • Day08---IDEA
    Day08IDEA中的第一个代码IDEA项目结构介绍project(项目)module(模块)package(包)class(类)步骤:新建项目-->在项目内新建模块-->在新建模块内新建包-->在包内创建类常用的系统设置提示忽略大小写修改主题修改注释的颜色修改字体自动导包IDEA的项目和模块......
  • #2023-2024-1 20231408《计算机基础与程序设计》第十二周学习总结
    作业信息这个作业属于哪个课程<2023-2024-1-计算机基础与程序设计>这个作业要求在哪里<2023-2024-1计算机基础与程序设计第十二周作业>这个作业的目标<《C语言程序设计》第11章,上周测试题>作业正文https://www.cnblogs.com/jfxyh061028/p/17908735.html教......
  • Windows2008R2 IIS配置证书 ERR_SSL_VERSION_OR_CIPHER_MISMATCH 错误解决方法
    IISCrypto 用这个工具很方便,也可以手动修改注册表工具内置最佳实践,点击 BestPractices再Apply,然后重启服务器即可,设置前记得备份注册表。参考:https://blog.csdn.net/a873744779/article/details/103635882https://blog.csdn.net/jackbon8/article/details/82702563 ......
  • 2023-2024-1 20232408《网络空间安全导论第六周学习总结》
    2023-2024-120232408《网络空间安全导论第六周学习总结》教材内容总结这一章主要聚焦于应用安全,具体分为身份认证与信任管理、隐私保护、云计算及其安全、区块链与安全、人工智能及其安全等多个方面,从用户端、服务端等不同视角描述了我们应该如何保障应用安全。本章内容结合了......
  • springboot008基于位置的多分馆图书馆推荐系统vue
    第一章整体文档第二章需求分析2.3开发工具及技术2.3.1SpringBoot框架2.3.2Maven环境2.3.3MySQL数据库2.3.4Vue.js框架第四章网站功能实现4.1系统实现4.2后台功能4.2.1管理员登录界面图4.2.1.1登录界面4.2.2系统首页4.3前台功能4.3.1新用户注册登录4.3.2首页4.4数据......
  • JavaWeb - Day08 - MySQL - 多表查询、事务、索引 - Mybatis - 入门
    01.MySQL-多表查询-概述数据准备#建议:创建新的数据库createdatabasedb04;usedb04;--部门表createtabletb_dept(idintunsignedprimarykeyauto_incrementcomment'主键ID',namevarchar(10)notnulluniquecomment'部门名称',......