Tech Note · 2023-01-29 0

Chatgpt: poco 缓存元素属性导致属性值没有更新

Q:我在使用pytest+poco时,一个UI元素A.get_text()调用了两次,发现第二次调用时text实际上已经刷新但仍然返回的第一次的值
A:poco库在每次获取元素的属性值时,会缓存该元素的属性值,以便提高查询效率。所以在第二次调用A.get_text()时,返回的是缓存的第一次的值。如果需要获取最新的值,可以使用poco.invalidate()方法来手动清除缓存。在调用该方法后,再次获取元素的属性值时,将会从新获取最新的值。