A方法加了try...expect...
B方法也加了try....expect...
B方法调用了A方法,A方法查找元素,找不到报超时异常,实际B捕获到的异常,只有message\n,没有办法看出是因为超时引起的异常
详细报错如下:
B方法捕获到的异常,只有Message
A方法为查找元素,查不到抛出异常
更新A方法,将挂起的e改成具体的Traceback,并将其挂起
try: WebDriverWait(self.driver, timeout=8, poll_frequency=0.3).until(EC.visibility_of_element_located(loc)) self.click_element(loc=loc, times=3, model="点击元素:{0}".format(loc)) break except Exception as e: i = i+1 mylog.logger.info(f"第{i}页找不到元素,点击下一页进行查找") self.click_element(loc=next_page_loc, times=5, model="下一页切换") if i == 5: # 循环判断翻页,获取下标i,翻页完成,还找不到元素,即元素不存在 mylog.logger.exception(f"异常: 翻页查找元素失败: {loc}, 请检查: {e}") err_log = traceback.format_exc() raise Exception(err_log)
重新执行,B方法捕获的是trackback.format_exc()具体的异常信息,效果最终将错误记录到表,写入到表
标签:loc,python,方法,捕获,元素,报错,异常 From: https://www.cnblogs.com/cuitang/p/17147398.html