使用Python自动化Windows GUI操作

使用Python自动化Windows GUI操作,python,winapi,Python,Winapi,我想制作一个Python脚本,在Windows XP中自动设置VPN服务器,但我知道的唯一方法是使用Windows GUI对话框。我怎样才能弄清楚这些对话框对系统做了什么,并设计一个Python脚本使其自动化?您可以使用它向相关对话框发送击键,如果您还需要鼠标操作的话 或者,您可以使用来监视手动浏览对话框时进行的所有系统调用,并使用Python或在Python中重新生成它们。了解如何使用命令(在命令行上)执行所需操作然后编写这些命令的脚本。看一看-有一些报告称Windows的操作不太完美,但使用

我想制作一个Python脚本,在Windows XP中自动设置VPN服务器,但我知道的唯一方法是使用Windows GUI对话框。我怎样才能弄清楚这些对话框对系统做了什么,并设计一个Python脚本使其自动化?

您可以使用它向相关对话框发送击键,如果您还需要鼠标操作的话


或者,您可以使用来监视手动浏览对话框时进行的所有系统调用,并使用Python或在Python中重新生成它们。

了解如何使用命令(在命令行上)执行所需操作然后编写这些命令的脚本。

看一看-有一些报告称Windows的操作不太完美,但使用简单的脚本并使其运行起来非常简单。

您也可以用于GUI自动化

编辑:现在似乎有了用于创建脚本的GUI。

您可以尝试使用-这是一个Windows自动化工具,可以用作python库:

from automa.api import *
然后,您可以使用诸如start(..),click(..)和enter(..)等命令在UI上进行操作。您还可以从其自己的控制台窗口将该工具作为独立应用程序使用。如果某个GUI元素的名称不明显,则在_mouse()下提供一个名为get_name_的函数-您可以将鼠标悬停在任何GUI元素上以查找其名称


披露:我参与了公司的开发

PyAutoGUI可以通过PyPI的pip安装。它是跨平台的,可以控制鼠标和键盘。它具有pywinauto的功能,并且在顶部还有一些其他功能。它不能识别windows或GUI控件,但它有基本的屏幕截图和图像识别功能,可以单击特定的按钮。而且它有很好的文档记录和维护


pip安装pyautogui

这似乎是最好的主意,但我不知道如何通过命令行实现这一点。你知道我应该从哪里开始找吗?@tehr,我不熟悉你正在使用的工具,但我想,MSDNMicrosoft上的某个地方可能有一些东西,它并不总是能够通过命令行完成任务。您(通常)最希望的是,您需要调用的API函数可以从PowerShell或VBScript调用。有些任务虽然在GUI中很简单,但要完成相当多的编程工作(多对象创建/配置等)。简言之:有时候(甚至粗糙的)GUI自动化是实现您所需的唯一可行的方法。同意。。使用命令行可能是最可靠的方法,但对于许多第三方程序来说。。API可能不可用。对于这些程序,您将如何通过命令行运行它?我认为strace是我所需要的,但我认为它不会工作,因为在explorer中发生的一切。有太多的事情要做,以隔离正确的电话。有什么建议吗?sendkeys网站目前已关闭,值得一提的是,Automa是一个商业软件包-个人使用99美元。请注意,Automa不是免费的,您从web下载的版本是有时间限制的试用版。如果您不愿意支付许可证费用,请不要使用Automa构建任何内容。截至2021年,上述链接不起作用,无法在web和github上跟踪它们。上面的链接被重定向到一些看起来像垃圾邮件的网站。请求SOF验证内容。它似乎可以与python一起使用。但是使用Jython。看起来很酷。它还有一个IDE,您可以在其中键入和粘贴图像。这家伙做了一些非常复杂的事情,似乎它对操作系统和应用程序都不友好。@swanson,与pywinauto、pyautogui或autopy相比,sikuli与其他人相比如何?