【发布时间】:2020-04-14 20:16:09
【问题描述】:
我在 Microsoft Windows 上使用 python (3.7.4) 中的 pywinauto 模块来自动化桌面上的窗口。我需要制作各种功能来在桌面上打开的窗口上执行任务,例如获取窗口、聚焦窗口、最大化和最小化、关闭窗口、移动和调整窗口大小或检查窗口是否处于活动状态。 以下是我的代码
from pywinauto import application
import time
app=application.Application()
app.start('Notepad.exe')
time.sleep(5)
app1 = app.top_window()
这是打开任何应用程序的基本代码,然后我需要在单独的脚本上执行其他任务作为用户输入。
以下是关注窗口,最大化或最小化或关闭窗口应用程序或调整窗口大小
app1.set_focus()
time.sleep(2)
app1.maximize()
time.sleep(2)
app1.minimize()
app1.close()
app.Notepad.move_window(0,0,1280,700)
我需要处理更多功能,但似乎不知道该怎么做
- 如何检查窗口是否处于活动状态(窗口状态)
- 如何在桌面上打开所有当前窗口
- 我正在使用 move_window 来调整窗口大小,将 x 和 y 坐标保持为 0,但是如何保持窗口大小相同并仅移动 x 和 y 坐标
- 我正在使用 app.start() 运行应用程序,但是如果我需要运行已经存在的 excel 文件或 pdf 文件,那么我需要放置 excel 或 adobe 的可执行路径以及我需要打开的文件,如果是,我该怎么做
【问题讨论】:
-
我在 Python 2.5.4 的日子里使用 Pywinauto,但花了一段时间才获得 Py 3 的支持。在我切换到 Py 3 的时候,我学会了使用 pywin32 库,为此我知道如何做这些事情。另一个库会是一个选择吗?如果没有,对 Pywinauto for Py 3 有更多了解的人应该回答,但是如果您能够使用另一个库,那么这些要点都是简单的两行代码。
-
@S.Bender 虽然我被要求使用 pywinauto 模块,但任何其他可能更灵活的模块都可以作为备份选项帮助我,所以请您与我分享您对 pywin32 模块的知识执行上述操作。