哪种在Python上模拟键盘和鼠标的最简单方法?

Bru*_*dy' 24 python windows keyboard mouse

我需要做一些宏,我想知道最推荐的方法是什么.

所以,我需要编写一些东西并点击一些地方,我需要模拟TAB键.

Ish*_*eck 27

我用Python自动测试东西.我倾向于使用以下内容:

http://www.tizmoi.net/watsup/intro.html
编辑:链接已死,存档版本: https: //web.archive.org/web/20100224025508/http : //www.tizmoi.net/watsup/ intro.html

http://www.mayukhbose.com/python/IEC/index.php

我并不总是(几乎从不)模拟按键和鼠标移动.我通常使用COM来设置windows对象的值并调用它们的.click()方法.

您可以使用以下命令发送按键信号:

import win32com.client

shell = win32com.client.Dispatch("WScript.Shell")
shell.SendKeys("^a") # CTRL+A may "select all" depending on which window's focused
shell.SendKeys("{DELETE}") # Delete selected text?  Depends on context. :P
shell.SendKeys("{TAB}") #Press tab... to change focus or whatever
Run Code Online (Sandbox Code Playgroud)

这一切都在Windows中.如果你在另一个环境中,我不知道.

  • 要激活要发送密钥的程序,请使用`shell.AppActivate("Notepad")`(替换记事本) (5认同)
  • 很高兴知道:要使用win32com,首先必须安装[Python for Windows extensions](http://sourceforge.net/projects/pywin32/). (2认同)

joa*_*uin 15

也许您正在寻找Sendkeys

SendKeys是一个用于Windows的Python模块,可以将一个或多个击键或击键组合发送到活动窗口.

它似乎只是窗户

你也有pywinauto(从我的答案复制)

pywinauto是一组开源(LGPL)模块,用于将Python用作基于Windows NT的操作系统(NT/W2K/XP)的GUI自动化"驱动程序".

和网页上的例子

> from pywinauto import application
> app = application.Application.start("notepad.exe")
> app.notepad.TypeKeys("%FX")
> app.Notepad.MenuSelect("File->SaveAs")
> app.SaveAs.ComboBox5.Select("UTF-8")
> app.SaveAs.edit1.SetText("Example-utf8.txt")
> app.SaveAs.Save.Click()
Run Code Online (Sandbox Code Playgroud)


Mit*_*tti 7

pyautogui是一个很棒的包,可以发送密钥并自动执行几个与键盘/鼠标相关的任务.查看使用GUI AutomationPyAutoGUI文档控制键盘和鼠标.