3

我正在用 pywinauto 尝试我的第一件事。现在我想使用,print_control_identifiers()但我得到了错误,但是我写了我的代码——我无法获得关于 GUI 对象的任何信息。我已经尝试通过swapy生成代码 - 生成了很多代码,但没有成功。

到目前为止,这是我的代码:

import getpass, fnmatch

from pywinauto import application

currentUser = getpass.getuser()

if fnmatch.fnmatch(currentUser, "axe"):
    pwa_app = application.Application()
    w_handle = application.findwindows.find_windows(title=u'Login - 0.9.347', class_name='WindowsForms10.Window.8.app.0.141b42a_r11_ad1')[0]
    window = pwa_app.window_(handle=w_handle)
    window.SetFocus()
    ctrl = window['Log In']
    ctrl.Click()


else:
    print "You need admin rights for that action"

你能告诉我,我需要在哪里使用print_control_identifiers()吗?您还有其他更新的 GUI 自动化框架吗?

4

2 回答 2

1

PrintControlIdentifiers() 对于顶级窗口很有用。如果window是顶级窗口规范,那么只需调用

window.PrintControlIdentifiers()

或者

 pwa_app.Window_(title=u'Login - 0.9.347', top_level_only=True).PrintControlIdentifiers()
于 2015-03-21T21:41:31.297 回答
0

几个例子:

Swapy 可以很好地识别属性。此外,使用 pywinauto 给出的示例也很有帮助。来源:https ://pywinauto.googlecode.com/hg/pywinauto/docs/getting_started.html

from pywinauto import application

app = application.Application.Start("Notepad.exe")
app.Notepad.print_control_identifiers()
app.Notepad.MenuSelect("Edit->Replace")
app.Replace.print_control_identifiers()

从 pywinauto 导入应用程序

from pywinauto import application
app = application.Application()
app.Start("Notepad.exe")
Wnd_Main = app.window_(title_re=".*Notepad")
Wnd_Main.MenuSelect("File->Save")

Wnd_Save = app.window_(title_re="Save As")
Wnd_Save.Edit1.SetEditText("Hello World.txt")
于 2015-04-02T09:32:13.297 回答