项目场景:
在selenium中,需要自己封装函数用于判断元素是否存在,经常使用到try...except语句处理异常。
问题描述
使用try...except处理异常时,遇到try执行失败捕获异常,会花上不少的时间。(大概要10秒)
附上简单的try...except代码:
class BasePage:
def __init__(self, driver):
self.driver = driver
def locator(self, loc):
return self.driver.find_element(*loc)
# 判断是否存在某元素
def isElementPresent(self, loc):
try:
element = self.locator(loc)
return True
except NoSuchElementException as e:
return False
一些尝试:
尝试1:跳过except,在finally处做判断
def isElementExist(self, loc):
i = 0
try:
element = self.locator(loc)
i = 1
finally:
if i == 1:
return True
else:
return False
结果失败!!!通过验证,只要try出现错误,就需要捕获异常,而不是except捕获异常。
解决方案:
目前没什么好的方法,只能将执行通过率较大的放到try。