AttributeError:WindowSpecification类没有'typekeys'方法

时间:2017-06-05 13:08:29

标签: pywinauto

我是Pywinauto的新用户,在登录远程桌面应用程序后尝试单击“ENTER”。桌面窗口有一个使用免责声明“OK”按钮,我可以按“ENTER”或鼠标移动点击“确定”。下面是代码片段和我得到的错误。

rem_app = Application(backend="uia").connect(title_re='.*Remote desktop.*')
dlg_rem = rem_app.window(title_re='.*Remote desktop.*')
dlg_rem.set_focus()
dlg_rem.typekeys('{ENTER}')
  

错误:回溯(最近一次调用最后一次):文件“”,第1行,在文件中   “C:\ Python27 \ lib \ site-packages \ pywinauto \ application.py”,第171行,in   的呼叫       format(self.criteria [-1] ['best_match']))AttributeError:WindowSpecification类没有'typekeys'方法

我还通过查看其他相关的stackoverflow问题来使用以下内容:

  1. keyboard.sendkeys( '{ENTER}')
  2. dlg_rem.sendkeys( '{ENTER}')
  3. 这是print_control_identifiers()描述的“确定”按钮。

       |    |    |    | Pane - ''    (L403, T360, R1671, B1320)
       |    |    |    | [u'3', 'Pane4']
    
       |    |    |    |    |
       |    |    |    |    | Pane - 'Input Capture Window'    (L403, T360, R1671, B1320)
       |    |    |    |    | [u'Input Capture Window', u'Input Capture WindowPane', 'Pane5']
       |    |    |    |    | child_window(title="Input Capture Window", control_type="Pane")
    

    我想知道在两种情况下如何使用sendkeys和鼠标移动来点击“确定”上面的场景。

1 个答案:

答案 0 :(得分:0)

正确的方法名称是.type_keys('{ENTER}')。它在键入之前将焦点设置为目标窗口。

如果您不需要自动对焦,只需使用keyboard.SendKeys('{ENTER}')而不绑定任何应用(0.6.3。将具有符合PEP8指南的keyboard.send_keys别名。)

P.S。不建议远程桌面(使用任何工具)自动执行任何操作,因为RDP不会向本地计算机公开UI辅助功能。只需将脚本复制到远程计算机并在那里运行即可。

如果您需要多台同时运行GUI自动化任务的远程计算机,请查看这些答案以获取更多详细信息: