python+Appium自动化:元素等待时间
Posted bug无处不在
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python+Appium自动化:元素等待时间相关的知识,希望对你有一定的参考价值。
元素等待时间
为什么要设置等待时间呢?主要是因为界面加载时,为了防止元素还未出现影响后续的操作。
主要有三种方式:强制(线性)等待、隐式等待、显式等待
适用于appium和selenium
强制(线性)等待
import time
#休眠5秒钟
time.sleep(5)
隐式等待
只能设置一个元素等待时间,针对全局元素有效
driver.implicitly——wait(10)
显式等待
主要针对某个元素来设置的等待时间
WebDriverWait(driver, timeout, poll_frequency=0.5, ignored_exceptions=None)
driver :浏览器驱动。
timeout :最长超时时间,默认以秒为单位。
poll_frequency :检测的间隔(步长)时间,默认为0.5S。
ignored_exceptions :超时后的异常信息,默认情况下抛NoSuchElementException异常。
#先导入模块,首页判断是否有搜索id,有就进行点击
from selenium.webdriver.support.ui import WebDriverWait
element = WebDriverWait(driver, 5).until(lambda x:x.find_element_by_id("com.taobao.taobao:id/home_searchedit"))
element.click()
以上是关于python+Appium自动化:元素等待时间的主要内容,如果未能解决你的问题,请参考以下文章
Appium python自动化测试系列之等待函数如何进行实战
Appium+python自动化27-等待activity出现(android特有的wait_activity)
使用 Appium 和 Python 测试 iOS 应用程序时等待元素加载?
七Appium-python-UI自动化之强制等待:sleep,隐式等待:implicitly_wait,显示等待:WebDriverWait()