Traceback (most recent call last):
File "airtest\cli\runner.py", line 73, in runTest
File "site-packages\six.py", line 703, in reraise
File "airtest\cli\runner.py", line 70, in runTest
File "E:\IDE\AirtestIDE\test_script\test.air\test.py", line 434, in <module>
test(poco).test()
File "E:\IDE\AirtestIDE\test_script\test.air\test.py", line 25, in __init__
poco("ldr_role").click()
File "E:\AirtestIDE-win-1.2.14\poco\proxy.py", line 29, in wrapped
raise e
File "E:\AirtestIDE-win-1.2.14\poco\proxy.py", line 23, in wrapped
return func(proxy, *args, **kwargs)
File "E:\AirtestIDE-win-1.2.14\poco\proxy.py", line 332, in click
pos_in_percentage = self.get_position(focus)
File "E:\AirtestIDE-win-1.2.14\poco\proxy.py", line 72, in wrapped
return func(proxy, *args, **kwargs)
File "E:\AirtestIDE-win-1.2.14\poco\proxy.py", line 613, in get_position
pos = list(map(float, self.attr('pos')))
File "E:\AirtestIDE-win-1.2.14\poco\proxy.py", line 39, in wrapped
return func(self, *args, **kwargs)
File "E:\AirtestIDE-win-1.2.14\poco\proxy.py", line 736, in attr
nodes = self._do_query(multiple=False)
File "E:\AirtestIDE-win-1.2.14\poco\proxy.py", line 890, in _do_query
raise PocoNoSuchNodeException(self)
poco.exceptions.PocoNoSuchNodeException: Cannot find any visible node by query UIObjectProxy of "ldr_role"
复现步骤
poco("ldr_role").refresh()
if poco("ldr_role").exists:
poco("ldr_role").click()
(请尽量按照下面提示内容填写,有助于我们快速定位和解决问题,感谢配合。否则直接关闭。)
(重要!问题分类)
描述问题bug 做识别点击的时候,UI的画面是变化的,上一次点击存在,下一次可能就不存在了或者有遮罩盖住导致无法点击的情况 我看了官方的教程有 refresh() 方法刷新节点是否存在,节点消失了,刷新后,仍然判断存在,导致走点击的逻辑,点击抛异常
复现步骤 poco("ldr_role").refresh() if poco("ldr_role").exists: poco("ldr_role").click()
预期效果 1、节点刷新后,节点不存在,就应该不走点击 2、节点刷新后,节点仍然存在,可以点击,不抛异常 3、或者有其他的方式,只判断 当前界面可点击的控件是否存在,不然点击都要try一下很僵硬。
相关截图 (贴出遇到问题时的截图内容,如果有的话) 图片看UI树是没有lar_role的,画面也没有,是上一个画面中的UI对象,做while循环True点击判断的, 到下一步还是判断存在
python 版本:
python/3.10
poco 版本:
1.0.87
设备:
其他相关环境信息 [(其他运行环境,例如在linux]() ubuntu16.04上运行异常,在windows上正常。)