appium-3-如何避免定位的元素不存在而报错
假设场景不存在该元素:
center_text=driver.find_element_by_id("com.taobao.idlefish:id/center_text")
我们在代码里面直接这么写,元素不存在会导致代码报错,无法执行后面的代码;
有的时候即使报错了,比如一旦发现没有这个元素的时候,发送邮件通知,
def find_element(element,id=0):
try:
if id==0:
driver.find_element_by_accessibility_id(element)
return True
elif id==1:
driver.find_element_by_id(element)
return True
elif id==2:
driver.find_element_by_xpath(element)
return True
elif id==3:
driver.find_element_by_android_uiautomator('new UiSelector().text({})'.format(element))
return True
except selenium.common.exceptions.TimeoutException:
return False
except selenium.common.exceptions.NoSuchElementException:
return False
except:
return False
根据上面的方法,我们可以把代码修改为
if find_element("com.taobao.idlefish:id/center_text",id=1):
print("找到元素了")
else:
print("没有找到元素,可以发邮件通知了")
有问题留言即可
本文来自博客园,作者:小排顾,转载请注明原文链接:https://www.cnblogs.com/SparkProgram/p/13346217.html