UI自动化-----三大等待
三大等待
- 隐式等待----implicitly_wait()
- 显示等待----WebDriverWait类
- 强制等待----time.sleep()方法
隐式等待----implicitly_wait()
隐式等待:隐性等待设置了一个时间,在一段时间内网页是否加载完成,如果完成了,就进行下一步;在设置的时间内没有加载完成,则会报超时加载
注:隐性等待的设置时全局性的,在开头设置过之后,整个的程序运行过程中都会有效,都会等待页面加载完成;不需要每次设置一遍。
在使用隐式等待的时候,实际上浏览器会在你自己设定的时间内不断刷新页面去寻找我们需要的元素
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWaitdriver = webdriver.Chrome()
driver.implicity_wait(10)# 等待十秒加载不出来就会抛出异常,10秒内加载出来正常返回driver.get('http://www.baidu.com')
默认参数的单位为秒。同时,这并非一个固定的等待时间,并不影响脚本的执行速度。
显示等待----WebDriverWait类
显示等待是表明某个条件成立才执行获取元素的才做、也可以等待的时候指定一个最大的时间,如果超过这个时间那么就会抛出一个异常(exceptions.TimeoutException)。
即设置一个等待条件,和一个最长等待时间,在等待时间内条件是否满足,满足继续下一步,不满足会继续等待,超过时间就会抛出异常
WebDriverWait一般有until和until_not方法配合使用
until(method,message)
until_not(method ,message)
语法:
WebDriverWait(driver,等待时长,轮循周期).until()/until_not()
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 ECdriver = webdriver.Chrome()
driver .get('https://www.baidu.com/')wait = WebDriverWait(driver , 10)
logo= wait.until(EC.presence_of_element_located((By.ID, 'su')))
print(logo)
与隐式等待相比,显示等待多了一个指定元素条件超时时间
强制等待----time.sleep()方法
固定等待
import timetime.sleep(5)#强制等待5秒
(非作者允许,严禁转载)
UI自动化-----三大等待相关推荐
- UI自动化常见的等待方式
UI自动化常见的等待方式 在UI自动化中常常会出现脚本不稳定的情况,元素有时候能够定位,有时候却定位不到的情况.以上的情况就可以通过等待的方式去解决,下面我们就来介绍下常见的等待方式. 1.强制等待: ...
- python wait_window_pywinauto客户端自动化---窗口等待方法
我们在做web和app的ui自动化过程中,常用到等待机制,那客户端自动化有这个方法吗?python这么强大,肯定是有方法解决的 等待机制 pywinauto等待有两种方法: 方法一: wait() w ...
- pythonWeb UI自动化最流行的工具 解放双手 双手打字以示清白!
Selenium WebDriver是Web UI自动化最流行的工具之一.没有比Python更好的补充它来自动化广泛的Web应用程序.因此,我们提供了这个Selenium Webdriver Pyth ...
- python ui自动化_pythonUI自动化整理
python实现UI自动化整理 1.用到的包 selenium 常见的浏览器操作 openpyxl 读写处理excel数据参数 PyMySQL(python3) 读写mysql数据库 unittest ...
- java ui自动化测试脚本,如何用Airtest编写UI自动化脚本(示例代码)
前言 游戏并不像app一样直接把渲染树节点暴露出来,这就造成游戏UI自动化在元素定位上的不方便性,不过依赖airtest的图片识别,我们可以直接跳过元素检查,以图片对比的形式进行自动化,虽然效率可能会 ...
- 第二十一:基于Python2+Selenium3+Pytest4+Pytest-Html的UI自动化框架
一.环境配置: 1.Python2.7.10, selenium3.141.0, pytest4.6.6, pytest-html1.22.0, Windows-7-6.1.7601-SP1 二.特点 ...
- python图片比对、自动化测试_基于python+appium通过图片对比来做的UI自动化
1.python + appium +图片对比实现UI自动化: 背景: 当手机需要适配不同的语言时,测试过程中易出现因为语言不熟悉,导致UIbug被遗漏(例如setting中的描述性文字显示不完整等等 ...
- Windows下UI自动化工具Inspect
windows系统下的UI自动化工具Inspect是包含在WindowsSDK包里的,所以需要先下载SDK包,然后在SDK包路径下找到Inspect工具并打开使用就可以了. 官网下载链接:https: ...
- UI自动化框架 基于selenium+pytest和PO分层思想
最近在编写UI自动化框架,现在将一些碎片化东西进行梳理,便于记忆 同时,为了方便于各个模块的独立管理,以及秉承高复用,低耦合的思想,这里是根据PO模型编写,同时将所有的模块进行了独立,页面和元素,以及 ...
最新文章
- Go 分布式学习利器(17)-- Go并发编程之协程机制:Grountine 原理及使用
- LeetCode 278. 第一个错误的版本(二分查找)
- 【免费下载】2021年5月热门报告盘点下载
- MISC图片隐写之foremost
- 什么是shell和shell编程
- 基于php的购物网站源代码,[内附完整源码和文档] 基于PHP的网上购物系统设计与实现...
- Arcgis空间校正操作
- Microsoft office 2013安装图解
- 【OpenCV学习笔记】之离散傅里叶变换(DFT)
- 殇城的伤感心情日志分享:青春容颜,我却一笔流伤
- 【CF446B】 DZY Loves Modification
- 用scrapy+selenium+Firefox爬取腾讯新闻
- 因子分解机(FM)家族
- 坚持是学习的最好方法
- java刷题--518零钱兑换II
- postman快速使用
- input框中的value值到底是什么
- 在Hbuilder上使用GitHub
- 2018考研数学二答案真题解析.pdf
- MES支撑企业进行精细化管理