【问题标题】:Selecting children from TreeView using pywinauto使用 pywinauto 从 TreeView 中选择子项
【发布时间】:2016-06-29 10:29:26
【问题描述】:

我遇到的问题与pywinauto 中的the GetItem() 方法有关。我能够在 32 位的 Windows 7 和 10 上运行 window.TreeView.GetItem('\\Desktop').Click() 命令,但它会引发异常并且在从 Windows 10 64 位的 python 命令行调用它时不会运行。

这是我使用的完整代码:

import pywinauto

pwa_app = pywinauto.application.Application()

w_handle = pywinauto.findwindows.find_windows(title=u'Browse For Folder', class_name='#32770')[0]

window = pwa_app.window_(handle=w_handle)

window.TreeView.GetItem('\\Desktop').Click()

这些是我收到的错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>

  File "C:\Python27\lib\site-packages\pywinauto\controls\common_controls.py", line 1374, in GetItem
    texts = [r.Text() for r in roots]

  File "C:\Python27\lib\site-packages\pywinauto\controls\common_controls.py", line 872, in Text
    return self._readitem()

  File "C:\Python27\lib\site-packages\pywinauto\controls\common_controls.py", line 1263, in _readitem
    raise ctypes.WinError()

WindowsError: [Error 0] The operation completed successfully.

Folder Dialog content

不得不提的是,我只能通过window.TreeView.GetItem([0]).Click()访问树视图的根

【问题讨论】:

  • 你是否使用 64 位 Python 和 32 位应用程序?
  • 是的,Python 是 64 位的,而应用程序是 32 位的。谢谢
  • 您可以尝试 pywinauto 的 UIA 分支或使用 32 位 Python 和 pywinauto 0.5.4。
  • 谢谢先生。现在,我想我会坚持在运行良好的 Windows 10 32 位中运行命令。

标签: python python-2.7 pywinauto


【解决方案1】:

这是因为 Windows 消息的 Win32 API 结构大小对于 32 位和 64 位应用程序是不同的。在 UIA 分支中修复(您可以等待今年夏天计划的 0.6.0)。

另一种方法是在 64 位 Python 之外设置 32 位 Python(和 pywinauto)(您只需要关心 python.exe 的完整路径)。

【讨论】:

    【解决方案2】:

    试试这个...

    import pywinauto
    from pywinauto import Desktop, Application
    import pywinauto
    app = Application(backend="uia").connect(best_match='File Explorer')
    dlg = app.File_Explorer
    
    dlg = dlg.ItemsView.get_item('Documents')
    dlg.click_input(double = True) 
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 2010-10-30
    • 1970-01-01
    • 2011-07-19
    • 2011-02-23
    相关资源
    最近更新 更多