如何使用pywinauto工具在wpf应用程序中找到按钮的颜色?
目前我正在使用pywinauto 0.6.3自动化WPF 应用程序。
答案 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()))