0


记selenium,偶发StaleElementReferenceException异常处理方法

1、触发该异常的场景:

用例1和用例2都有同样的元素,用例1执行失败后关闭了句柄没有刷新页面,用例2执行的时候定位到了元素但是click时报异常

2、解决方法:

a、刷新页面,用例1执行关闭后如果没有关闭浏览器就执行刷新操作

driver.refresh()

b、如果场景不允许刷新,那就捕获异常重新定位元素执行click

try:
    ele = self.findElement(locator, change_data, timeout)
    ele.click()
    logger.info('按钮点击 {} 成功'.format(locator))
except StaleElementReferenceException as msg: #捕捉异常StaleElementReferenceException,然后重新获取元素,或者可以driver.refresh()直接刷新页面,但是有些场景不允许刷新页面
    logger.info('点击元素 {} 异常,重新获取元素'.format(locator))
    ele = self.findElement(locator, change_data, timeout)
    ele.click()
except Exception as e:
    logger.error('按钮点击 {0} 失败,异常原因:{1}'.format(locator,e))
    raise e

本文转载自: https://blog.csdn.net/yzTestGroup/article/details/125866682
版权归原作者 yzTestGroup 所有, 如有侵权,请联系我们删除。

“记selenium,偶发StaleElementReferenceException异常处理方法”的评论:

还没有评论