如何使用pywinauto工具在wpf应用程序中找到按钮的颜色?

时间:2018-01-17 13:17:33

标签: python wpf pywin32 pywinauto

如何使用pywinauto工具在wpf应用程序中找到按钮的颜色?

目前我正在使用pywinauto 0.6.3自动化WPF 应用程序

1 个答案:

答案 0 :(得分:1)

Pywinauto不支持,但你可以使用rectangle()函数获取元素的屏幕坐标,使用mid_point()获取中间点(但在某些情况下,中间可以是文本)。如何获取某个特定像素的颜色you can check there.

例如:

from pywinauto import Desktop

def get_pixel_colour(point):
    import win32gui
    i_desktop_window_id = win32gui.GetDesktopWindow()
    i_desktop_window_dc = win32gui.GetWindowDC(i_desktop_window_id)
    long_colour = win32gui.GetPixel(i_desktop_window_dc, point.x, point.y)
    i_colour = int(long_colour)
    return (i_colour & 0xff), ((i_colour >> 8) & 0xff), ((i_colour >> 16) & 0xff)

dlg = Desktop(backend="win32").window(title_re='YourAppTitle')
bt = dlg.Button
bt.set_focus()
print(get_pixel_colour(bt.rectangle().mid_point()))