我试图创建一个简单的python脚本,可以使用键盘来编写/执行命令。
示例:打开Photoshop并执行"选择全部并删除,然后保存" (控制+ a,删除,控制+ s)键每1秒后。
示例2:打开taskmanager(control + alt + del)使用N键移动到进程中的N部分,每隔几分钟使用结束任务(alt + e)......
此外,为了创建一个函数,当python脚本运行时,如果我点击alt + f1(例如)它执行(control + alt + del)
答案 0 :(得分:2)
为此,您需要与本机消息传递接口集成。 Sikuli是一个很好的测试工具,所以(按照@ juxhin的建议),如果你可以限制自己使用Jython,那么这是一个明智的候选人。
但是,如果你不能忍受,那么你可能需要一个不同的Linux和Windows解决方案。例如:
答案 1 :(得分:0)
您可以尝试SikuliX。这是一个基于图像的框架,可以与Python(通过Jython),Ruby(通过JRuby)和Java(通过可选的Java API)一起使用。
在屏幕上自动执行某些操作非常有用,例如打开Photoshop,点击屏幕上的区域或通过键输入。例如:
//Using Java API, however the idea is the same for Python
Screen screen = new Screen()
screen.type(new Pattern("some-image.png"), "keyboard");
在Python中:
def changed(event):
print "something changed in ", event.region
for ch in event.changes:
ch.highlight() # highlight all changes
sleep(1)
for ch in event.changes:
ch.highlight() # turn off the highlights
使用selectRegion("选择要观察的区域")作为r: #r大于50像素的任何变化都会触发更改的功能 onChange(50,已更改) 观察(背景= TRUE)
等待(30)#另一种观察方式30秒 r.stopObserver()
这是相当多的工作,但它允许您创建执行所需操作的非常强大的脚本。您还可以通过subprocess
将控制台输出传递回Python脚本,以便根据环境更改脚本行为。
休息都受到你想象力的限制。
注意:不一定要使用SikuliX,事实上我不建议实际做所有事情。只是某些可能需要在屏幕上显示特定行为的事情。
如果您严格使用Ubuntu,您可能还需要查看Xpresser
所以我已经与AutoIt和PyAutoIt一起工作,并且真的认为它们适合您希望实现的目标,因为它们对某些应用程序非常有效。