Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在另一个使用python的程序中按下按钮_Python_Automation_External - Fatal编程技术网

在另一个使用python的程序中按下按钮

在另一个使用python的程序中按下按钮,python,automation,external,Python,Automation,External,我需要让我的python程序与另一个程序交互。具体来说,我需要python程序能够“按下”开始按钮,以便告诉程序开始收集数据,并“按下”保存按钮,然后告诉它以后将保存文件放在哪里。这样我就可以自动化一系列复杂的操作,其数据收集阶段只能通过该操作软件进行控制(手动操作需要一个人坐在那里什么也不做,只是重复按一系列按钮4-5个小时)。我相信这应该是可能的,但我不知道该怎么做(由于需要在windows 2000机器上运行,整个事情变得更加复杂,因为正在操作的卡是在ISA总线上的,不能实际放入任何可以运

我需要让我的python程序与另一个程序交互。具体来说,我需要python程序能够“按下”开始按钮,以便告诉程序开始收集数据,并“按下”保存按钮,然后告诉它以后将保存文件放在哪里。这样我就可以自动化一系列复杂的操作,其数据收集阶段只能通过该操作软件进行控制(手动操作需要一个人坐在那里什么也不做,只是重复按一系列按钮4-5个小时)。我相信这应该是可能的,但我不知道该怎么做(由于需要在windows 2000机器上运行,整个事情变得更加复杂,因为正在操作的卡是在ISA总线上的,不能实际放入任何可以运行较新操作系统的东西中)。有什么方法可以做到这一点吗?

如果该程序没有API,您可以使用python直接控制鼠标。

使用Sikuli检测按钮位置并按下按钮。它将VNC窗口内的按钮推到另一台机器上。在Sikuli脚本中编写所有GUI控件,然后作为子流程从python中调用该脚本。

使用Win32 API的python绑定可能会有所帮助(当然,您需要知道如何使用Win32 API):例如,将模块“Win32 API”和“Win32 CON”与方法win32api.SetCursorPos((x,y))和win32api.mouse\u event一起使用(win32con.MOUSEEVENT_LEFTDOWN,x,y,0,0)可能适用于“开始”按钮,但windows喜欢在不同的位置弹出子窗口,如“另存为”对话框,因此使用这种类型的绝对设置来处理“保存”对话框将非常困难。