如何连接control.exe以获取pywinauto中的dump_tree()



我想通过Pywinauto实现以下场景的自动化。

  1. 通过控制面板打开网络和共享中心
  2. 在"网络和共享中心"的左侧面板中,打开"更改高级共享设置">
  3. 在网络发现下,单击"关闭网络发现"选项
  4. 单击"保存更改">
  5. 转到"工具"->文件夹选项->查看
  6. 选中"隐藏受保护的操作系统文件">
  7. 关闭以保存

我可以通过以下代码打开control.exe:

Application().start(r'control.exe', wait_for_idle=False)
app = Application(backend="uia").connect(path='')

我需要获取dump_tree才能在左侧面板上找到值。作为connect((函数的路径,我需要给出什么

有两种方法可以连接到新窗口。第一个是使用可执行文件名:

app = Application(backend="uia").connect(path='explorer.exe')

但是,对于这种情况,还没有实现带超时的灵活等待。第二种方式更可靠,不需要硬编码的time.sleeps。

app = Application(backend="uia").connect(title="All Control Panel Items", timeout=10)

由于我们将在下一个主要版本中修复的小问题,您需要显式的超时值。

要获得所有顶级窗口,您需要app.windows(),并对每个窗口执行.window_text()。这个案例很简单:

main_window = app.window(title="All Control Panel Items")
# only WindowSpecification has .dump_tree() method for now
main_window.dump_tree()

最新更新