Я хочу навести указатель мыши на сторонний значок (например, «CCleaner», присутствующий в системном трее на панели задач) и получить текст всплывающей подсказки в переменной. В pywinauto методы pywinauto.controls.GetTip(tooltip_index), pywinauto.controls.GetTipText(tooltip_index) и pywinauto.GetToolTipsControl() используются для получения информации всплывающей подсказки. Но в моем коде появляется ошибка. Не уверен, как получить tooptip_index. Фрагмент кода выглядит следующим образом:
import pywinauto
from pywinauto import Application, taskbar
def click_tray_icon():
app = Application(backend="uia").connect(path="explorer")
sys_tray = app.window(class_name="Shell_TrayWnd")
sys_tray.child_window(title="People").click_input(button='left', double=True)
s = pywinauto.controls.common_controls.ToolTipsWrapper(sys_tray).texts()
print(s)
pywinauto.mouse.move(coords=(1729, 1063))
pywinauto.controls.GetTip(1)
pywinauto.controls.GetTipText(1)
AttributeError: module 'pywinauto.controls' has no attribute 'GetTip'
Application(backend="uia")
предполагает, что вы используете только серверную часть UIA. Но модульcommon_controls
предназначен для старыхbackend="win32"
, а также для упомянутых функций. Конечно, эти функции не определены в папке пакетаpywinauto.controls
внутри__init__.py
, но это только прямой корень этого исключения. - person Vasily Ryabov   schedule 21.01.2019