pywinauto.findwindows.ElementNotFoundError

问题描述 投票:0回答:0

我有这个代码。但是当代码到达 if 语句时出现错误。

for x in range(50):
    element = app.Dialog.child_window(title="test123", control_type="Text")
    app.Dialog.child_window(auto_id="uxEntityDataGrid").wrapper_object().scroll("down", "line", count=5,
                                                                                retry_interval=0.01)
    try:
        if element.is_visible():
            print("Element is Visible")
            element.click_input()
            break
    except Exception as e:
        raise e

基本上我的场景是单击该元素并在找到后打破循环。无法找到类似的主题,因此我联系了那里的专家。非常感谢!

回溯错误

Traceback (most recent call last):
  File "C:\Program Files\Python311\Lib\site-packages\pywinauto\application.py", line 250, in __resolve_control
    ctrl = wait_until_passes(
           ^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Python311\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 "D:\get object project\ObjectIdentification.py", line 37, in <module>
    raise e
  File "D:\get object project\ObjectIdentification.py", line 33, in <module>
    if element.is_visible():
       ^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Python311\Lib\site-packages\pywinauto\application.py", line 379, in __getattribute__
    ctrls = self.__resolve_control(self.criteria)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Python311\Lib\site-packages\pywinauto\application.py", line 261, in __resolve_control
    raise e.original_exception
  File "C:\Program Files\Python311\Lib\site-packages\pywinauto\timings.py", line 436, in wait_until_passes
    func_val = func(*args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Python311\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\Python311\Lib\site-packages\pywinauto\findwindows.py", line 87, in find_element
    raise ElementNotFoundError(kwargs)
pywinauto.findwindows.ElementNotFoundError: {'title': 'test123', 'control_type': 'Text', 'top_level_only': False, 'parent': <uia_element_info.UIAElementInfo - 'Merlot.Aero', Window, 1444560>, 'backend': 'uia'}

Process finished with exit code 1
python ui-automation pywinauto
© www.soinside.com 2019 - 2024. All rights reserved.