Selenium中遇到 StaleElementReferenceException 异常

在自动化测试过程中,代码并没有任何错误,可运行过程中多次遇到遇到如下报错:
selenium.common.exceptions.ElementNotInteractableException: Message: element not interactable

目前我想到的有如下三种解决方法:
方法一:
使用time.sleep()可降低发生此异常的概率,但是并非百分百有效,并且浪费时间。

方法二:
使用driver.refresh()刷新页面后再重新定位此元素。

方法三:
由于测试过程中不少情况会出现刷新页面后测试结果有偏差的情况,这种时候就只能用捕获异常的方法规避当前遇到的异常了。即在出现异常的时候重新再次定位元素。

1    # time.sleep(2)
2    # driver.refresh()
3    try:
4        driver.find_element_by_id("details-button").click()
5        driver.find_element_by_id("proceed-link").click()
6    except:
7        driver.find_element_by_id("details-button").click()
8        driver.find_element_by_id("proceed-link").click()

 

posted @ 2021-10-07 15:32  启秀  阅读(104)  评论(0编辑  收藏  举报