You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 22:35:18