我只是不能让Pywinauto工作。 基本上,我希望它打开系统设置(已经弄清楚了),然后单击“更改设置”,但以我的语言(德语)为“ Einstellungenändern”。 我已经尝试过了:
from pywinauto import Desktop, Application, keyboard
from pywinauto.application import Application
app = Application().start("control system")
#so far it works, after that I've tried two options
#1
app.window_(title_re="System").window_(title="Einstellungen ändern").click()
#2
app.window_(best_match="System" ).window_(best_match="Einstellungen ändern").click()
我已经使用Inspect.exe而不是“ System”或“ Einstellungenändern”的AutomationId尝试了这两个选项,并且尝试了ClickInput()
而不是click()
有什么想法吗?
答案 0 :(得分:0)
有几个问题:
"uia"
,必须为Application
对象指定。此代码适用于我的英语Win10:
from pywinauto.application import Application
app = Application(backend="uia").start("control system")
app = Application(backend="uia").connect(title="System", timeout=20)
app.window(title="System").child_window(title="Change settings").invoke()
# app.window(title="System").child_window(title="Einstellungen ändern").invoke()
.click_input()
也应该工作。后端"uia"
仅将方法.click()
定义为.invoke()
的别名control_type="Button"
,因为InvokePattern对于各种控件类型可能具有不同的含义。
注意:在单击“更改设置”后,出现的“系统属性”窗口正在另一个进程中运行,该进程再次需要方法.connect()
,并且可能为了方便起见可能需要单独的Application
实例。