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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步