使用pywinauto时出错

2 投票
2 回答
3202 浏览
提问于 2025-04-16 14:32

我刚开始学习Python,刚用easy_install安装了pywinauto。

我想运行一段简单的代码,如下所示:

from pywinauto import application
app = application.Application.start ('notepad.exe')
Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
AttributeError: type object 'Application' has no attribute 'start'

你可以看到我遇到了一个错误。我在网上搜索过这个问题,但没找到为什么会这样。

请帮帮我。谢谢!

VG

2 个回答

0

我不太了解 pywinauto,但我觉得你需要先创建一个 Application 对象,然后再调用 start() 方法。

app = application.Application(...args...)
app.start(...args...)

(我不知道具体的写法是什么)

4

Pywinauto 对于命名规则感到很困惑(我知道,因为我是写这个的!)。

这里有两个选择:

a) 先创建一个 Application 类的实例,然后在这个实例上调用 start() 方法。

>>> from pywinauto import Application
>>> app = Application()
>>> app.start('notepad.exe')
<pywinauto.application.Application object at 0x022991B0>
>>> app.UntitledNotepad.MenuItem("File -> Exit").Select()

b) 直接调用 Application.Start() 这个类方法。(注意,'S' 是大写的)

>>> app = Application.Start('Notepad')
>>> app.UntitledNotepad.MenuItem("File -> Exit").Select()

选择 b) 的话,输入的内容会少一些 :)

撰写回答