使用pywinauto读取文本时触发ElementNotFoundError问题求助
读取UI文本触发ElementNotFoundError问题求助
尝试读取UI文本时触发ElementNotFoundError,使用pywinauto recorder识别对象时,鼠标悬停在仅剩余字符'e'的模糊文本上时,工具会指向绿色空白区域。目前不清楚如何在pywinauto中处理这类问题,请求帮助。
注意:print_control_identifiers()方法可正常打印出目标文本对应的控件信息。
代码
app = Application(backend='uia').start( r"cmd.exe /c start AppName", create_new_console=True, wait_for_idle=False) app = Application(backend='uia').connect(title_re="AppName", found_index=0, timeout=10).AppName print(app.print_control_identifiers()) print(app.child_window(title="foo boo e", control_type="Text", found_index=0).wrapper_object().window_text())
预期输出
All control identifiers hierarchy. foo boo e
实际输出
Static - 'foo boo e' (L603, T234, R728, B249) ['foo boo eStatic', 'foo boo e', 'Static54'] child_window(title="foo boo e", control_type="Text") Traceback (most recent call last): File "C:\Program Files\Python\Python3108\lib\site-packages\pywinauto\application.py", line 250, in __resolve_control ctrl = wait_until_passes( File "C:\Program Files\Python\Python3108\lib\site-packages\pywinauto\timings.py", line 458, in wait_until_passes raise err pywinauto.timings.TimeoutError During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\foo\boo\test.py", line 171, in <module> print(test.pwa_gettextt("Pick a Date & Time", "Text", None, 10)) File "C:\Users\foo\boo\test.py", line 49, in pwa_gettextt found_index=index).wrapper_object().window_text() File "C:\Program Files\Python\Python3108\lib\site-packages\pywinauto\application.py", line 267, in wrapper_object ctrls = self.__resolve_control(self.criteria) File "C:\Program Files\Python\Python3108\lib\site-packages\pywinauto\application.py", line 261, in __resolve_control raise e.original_exception File "C:\Program Files\Python\Python3108\lib\site-packages\pywinauto\timings.py", line 436, in wait_until_passes func_val = func(*args, **kwargs) File "C:\Program Files\Python\Python3108\lib\site-packages\pywinauto\application.py", line 222, in __get_ctrl ctrl = self.backend.generic_wrapper_class(findwindows.find_element(**ctrl_criteria)) File "C:\Program Files\Python\Python3108\lib\site-packages\pywinauto\findwindows.py", line 84, in find_element elements = find_elements(**kwargs) File "C:\Program Files\Python\Python3108\lib\site-packages\pywinauto\findwindows.py", line 328, in find_elements raise ElementNotFoundError("found_index is specified as {0}, but {1} window/s found".format( pywinauto.findwindows.ElementNotFoundError: found_index is specified as 0, but 0 window/s found Process finished with exit code 1
内容的提问来源于stack exchange,提问作者Learner
相关产品推荐
相关产品推荐

