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的等待

使用 Appium 和 Python 测试 iOS 应用程序时等待元素加载?

python appium自动化,走过的坑

七Appium-python-UI自动化之强制等待:sleep,隐式等待:implicitly_wait,显示等待:WebDriverWait()