网站建设怎么骗人,网站建设360元起全包,php网站开发优点,网页设计需要考什么证书点此获取更多相关资料 本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接#xff1a;https://ceshiren.com/t/topic/27692 黑名单处理 运行过程中不定时弹框#xff08;广告弹窗#xff0c;升级提示框#xff0c;新消息提示框等等#xff09; 弹框不是 BUG#xff0…点此获取更多相关资料 本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接https://ceshiren.com/t/topic/27692 黑名单处理 运行过程中不定时弹框广告弹窗升级提示框新消息提示框等等 弹框不是 BUGUI 界面提示警告的作用 方法一常规处理
def find(self, by, locator):try:return self.driver.find_element(by, locator)except Exception as e:for black in black_list:eles self.driver.find_elements(*black)if len(eles) 0:eles[0].click()return find(by, locator)raise e方法二装饰器处理
装饰器的优势
对原有函数的功能增强不改变原有函数的逻辑使代码更简洁、易维护
__BLACK_LIST []def black_handle(func):黑名单处理机制def _inner(*args, **kwargs):inner_arg args[0]try:func(*args, **kwargs)# logger.info(f查找元素{locator}---成功)except Exception as e:logger.info(未找到元素)logger.info(f异常信息{e})logger.info(处理异常)for i in __BLACK_LIST:elements inner_arg.driver.find_elements(*i)if len(elements) 0:elements[0].click()return func(*args, **kwargs)raise ereturn _inner装饰函数或方法
black_handle
def do_find(self, locator: tuple):获取单个元素element self.driver.find_element(*locator)logger.info(f查找元素{locator}---成功)return element