在当前窗口上进行python自动化

时间:2015-02-21 01:21:25

标签: python

我试图创建一个简单的python脚本,可以使用键盘来编写/执行命令。

示例:打开Photoshop并执行"选择全部并删除,然后保存" (控制+ a,删除,控制+ s)键每1秒后。

示例2:打开taskmanager(control + alt + del)使用N键移动到进程中的N部分,每隔几分钟使用结束任务(alt + e)......

此外,为了创建一个函数,当python脚本运行时,如果我点击alt + f1(例如)它执行(control + alt + del)

2 个答案:

答案 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

更新

所以我已经与AutoItPyAutoIt一起工作,并且真的认为它们适合您希望实现的目标,因为它们对某些应用程序非常有效。