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()