【问题标题】:Press key with pywinauto使用 pywinauto 按键
【发布时间】:2016-10-26 14:59:57
【问题描述】:

非常简单的问题。

只想按键盘键。像 enter 一样,使用 pywin auto。我不想在任何应用程序窗口的上下文中按下它。

只是对键盘键的原始按键操作,例如输入或退格键。

【问题讨论】:

    标签: pywinauto


    【解决方案1】:

    随便用

    # from pywinauto.SendKeysCtypes import SendKeys # old for pywinauto==0.5.x
    from pywinauto.keyboard import send_keys
    
    send_keys('some text{ENTER 2}some more textt{BACKSPACE}', with_spaces=True)
    

    文档: https://pywinauto.readthedocs.io/en/latest/code/pywinauto.keyboard.html

    附: SendKeysCtypes 在 pywinauto 0.6.0+ 中重命名为 keyboard

    【讨论】:

    • 谢谢,"{ENTER}" 功能有效。支持的范围有多广?我可以使用所有修饰键来执行此操作吗?像 Alt,Ctrl Tab。我也可以在 sendkeysCtypes 中进行组合吗?像“Ctrl + 1 或 Ctrl + C`”
    • 有可能。我刚刚在重命名键盘模块的新文档中描述了它(其他内容不变):pywinauto.readthedocs.io/en/latest/code/pywinauto.keyboard.html
    • @VasilyRyabov 运行此(仅)pywinauto.keyboard import SendKeys SendKeys('^a^x') 仅将^A^X 发送到 python 控制台。 (它不会选择所有/复制活动窗口上的文本)。知道如何使它工作吗?
    • 控制台不是 GUI 应用程序。只需尝试手动按相同的键。它将打印相同的符号。 :)
    【解决方案2】:

    我必须更改包含才能使代码正常工作:

    from pywinauto.keyboard import send_keys, KeySequenceError
    
    send_keys('some text{ENTER 2}some more textt{BACKSPACE}', with_spaces=True)
    

    【讨论】:

    • 救了我。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-02-20
    • 1970-01-01
    • 1970-01-01
    • 2020-09-30
    • 2021-12-15
    • 2020-04-07
    • 1970-01-01
    相关资源
    最近更新 更多