在appium Android中有滚动查找的方法,在网上找了一下appium iOS没有现成的方法,所以需要自己实现,自己写了两种方法,都可以实现滚动查找,并且可以设置超时时间,跟Android中的类似:
方式一:
from func_timeout import func_set_timeout
@func_set_timeout(180)
def scroll_find_element(by, value):
while 1:
try:
element = driver.find_element(by=by, value=value)
except Exception as e:
if e:
driver.swipe(current_width * 1 / 2, current_height, current_width *
1 / 2, current_height * 1 / 3, 1500)
else:
return element
方式二:
from func_timeout import func_timeout, FunctionTimedOut
def scroll_find_element(by, value):
while 1:
try:
element = driver.find_element(by=by, value=value)
except Exception as e:
if e:
driver.swipe(current_width * 1 / 2, current_height,
current_width * 1 / 2, current_height * 1 / 3, 1500)
else:
return element
try:
ele = func_timeout(180, scroll_find_element,
args=(AppiumBy.IOS_PREDICATE, 'name == " 中国 +86" AND
visible == true'))
except FunctionTimedOut:
print("执行超时!")
else:
ele.click()