python Appium自动化:元素等待时间

时间:2021-12-10 07:27:24

元素等待时间

为什么要设置等待时间呢?主要是因为界面加载时,为了防止元素还未出现影响后续的操作。

主要有三种方式:强制(线性)等待、隐式等待、显式等待

适用于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()