使用 pywinauto 获取窗口参数(上、下、右、左)
Posted
技术标签:
【中文标题】使用 pywinauto 获取窗口参数(上、下、右、左)【英文标题】:Getting window parameters with pywinauto (Top,Bottom,Right,Left) 【发布时间】:2016-10-11 10:25:35 【问题描述】:使用 pywinauto (Top,Bottom,Right,Left) 获取窗口参数我已经设法使用以下 sn-p 获取这些值
PrintControlIdentifiers()
取自他们 github 上的此文档页面。 https://pywinauto.github.io/docs/code/pywinauto.application.html#pywinauto.application.WindowSpecification.PrintControlIdentifiers
它并没有完全按照我的意愿去做,它会在我正在运行的应用程序中寻找一个元素。 (控件标识符)并使用以下参数为我提供它在屏幕上的位置。
(上、下、右、左)
我的问题很简单。是否有一个功能可以在更高级别上运行,它不会进入窗口的元素,而是只打印您打开的窗口的 (Top,Bottom,Right,Left) 值,而不是它的元素。
【问题讨论】:
【参考方案1】:只需使用.Rectangle()
方法并打印其返回值。
要获得可用方法列表的提示(在交互模式下),方法.WrapperObject()
很有用(在生产中它被隐式调用)。说你有
dlg = app.DialogName.WrapperObject()
然后您可以在 IPython/IDLE/python.exe 中键入 dlg.
并获取窗口的可用方法/属性列表。或者直接使用print(dir(dlg))
。
【讨论】:
我可以对 Pywinauto 的文档发表我的诚实意见吗?与我一直在使用的其他一些旨在做类似事情的系统相比,Pywinauto 是最难导航的。我会称它为用户不友好。但这只是我的建设性批评。更新库会非常有用。 你是对的。文档是 pywinauto 的一个弱点。我们正在努力改进下一个版本。以上是关于使用 pywinauto 获取窗口参数(上、下、右、左)的主要内容,如果未能解决你的问题,请参考以下文章
使用pywinauto如何 获取systreeview32内的item(python语言)
Pywinauto常用02--pywin32(Python调用win api)