Interfejs API do symulacji zdarzeń myszy zależy od platformy. Nie znam żadnego rozwiązania wieloplatformowego.
W systemie Windows można uzyskać dostęp do interfejsu Win32 API dzięki ctypes. patrz mouse_event on MSDN. Możesz być także zainteresowany pywinauto
Aby uzyskać kolor pod mysz, potrzebujesz pozycji myszy. Zobacz GetCursorPos on MSDN. Jeśli Twoja aplikacja ma interfejs API do uzyskiwania koloru w tej pozycji, możesz z niego skorzystać. Jeśli nie, możesz spróbować pobrać niewielką część ekranu wokół kursora i użyć PIL do uzyskania kolorów każdego piksela w tym obszarze. Myślę, że przechwytywanie ekranu PIL działa tylko na paltformie systemu Windows, ale nie jestem pewien.
używam następujących funkcji podobnej potrzebie:
def grab_main_color(self, rect, max_colors=256):
"""returns a tuple with the RGB value of the most present color in the given rect"""
img=ImageGrab.grab(rect)
colors = img.getcolors(max_colors)
max_occurence, most_present = 0, 0
try:
for c in colors:
if c[0] > max_occurence:
(max_occurence, most_present) = c
return most_present
except TypeError:
raise Exception("Too many colors in the given rect")
Możesz znaleźć informacje na temat kliknięcia tutaj: http://stackoverflow.com/questions/1181464/controlling-mouse-with-python – snw