我正在尝试在数据网格内查找并选择一条记录。 (我正在使用 pywinauto 自动化应用程序)
上图是我尝试查找和选择的示例(场景是删除或修改记录)
如果显示如下,我可以使用直接代码,例如 app.Dialog.child_window(title="name1690963953988603900", control_type="Text").click_input
但是,如果它没有向下滚动(记录在眼睛中不可见),则会返回错误
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 22, in <module>
app.Dialog.child_window(title="name1690963953988603900", control_type="Text").click_input()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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': 'name1690963953988603900', 'control_type': 'Text', 'top_level_only': False, 'parent': <uia_element_info.UIAElementInfo - 'Merlot.Aero', Window, 266712>, 'backend': 'uia'}
Process finished with exit code 1
通过检查工具检查,滚动条本身没有属性。有没有办法在数据网格内自动滚动然后单击文本?
希望有人能在这方面帮助我。非常感谢。
预期结果是当项目在当前屏幕中不可见时自动滚动(如果记录位于网格中的最后一行)