我无法将键击发送到选定的输入框

时间:2017-12-22 20:04:12

标签: python-3.x pywinauto

from pywinauto.application import Application

app = Application().Start(cmd_line=u'"path to program" ')
afx = app[u'Afx:01360000:0']
afx.Wait('ready')
afxtoolbar = afx[u'1']
toolbar_button = afxtoolbar.Button(3)
toolbar_button.Click()

window = app.Dialog
window.Wait('ready')
edit = window.Edit4
edit.Click()

app.typekeys ("Success")

所以在这一点上,我已经打开了应用程序,弹出了正确的窗口,并且鼠标单击了我想用短字符串填充的框。我不能为我的生活,弄清楚如何将键盘输入传递给这个领域。我已经阅读了PyWinAuto的所有文档,没有任何帮助......

基本上我需要做的就是弄清楚如何发送字符串,然后如何发送六次TAB键。然后,我可以完成我的程序以自动执行此应用程序。

我也在使用Swapy64bit来提供帮助。该程序使用win32后端。我正在使用Python 3.6。

我没有正确地为typekeys添加前缀吗? PyWinAuto文档还有很多不足之处。

1 个答案:

答案 0 :(得分:0)

首先,方法的正确名称为type_keys,但假设您正确使用它。

原因可能是编辑控件失去焦点,因为type_keys会尝试自动设置焦点。解决方案是:

app.type_keys("Success{TAB 6}", set_foreground=True)