In Python kann man PyAutoGUI verwenden:

import pyautogui
import time

def waitAndClickColor(color):
    while True:
        s = pyautogui.screenshot()
        for x in range(s.width):
            for y in range(s.height):
                if s.getpixel((x, y)) == color:
                    pyautogui.click(x, y)
                    return
        time.sleep(0.5)

waitAndClickColor((255, 0, 0)); # suche nach Rot
waitAndClickColor((0, 255, 0)); # suche nach Grün
waitAndClickColor((0, 0, 255)); # suche nach Blau

In der Funktion waitAndClickColor(color) wird die while True-Schleife solange wiederholt, bis die Farbe auf dem Bildschirm gefunden wird. pyautogui.screenshot() erstellt ein Bildschirmfoto. In den beiden for-Schleifen werden alle Pixel durchlaufen. s.getpixel((x, y)) gibt die Farbe des Pixels an den entsprechenden Koordinaten zurück. Falls das Pixel eine bestimmte Farbe hat, wird an der Stelle ein Klick ausgeführt. time.sleep(0.5) verzögert die nächste Schleifenausführung um eine halbe Sekunde.

Wenn nur an einer bestimmten Stelle die Farbe geprüft werden soll, kann man Folgendes schreiben:

import pyautogui
import time

def waitAndClickColor(x, y, color):
    while not pyautogui.pixelMatchesColor(x, y, color):
        time.sleep(0.5)
    pyautogui.click(x, y)

waitAndClickColor(300, 200, (255, 0, 0)); # warte bis rot
waitAndClickColor(200, 300, (0, 255, 0)); # warte bis grün
waitAndClickColor(400, 500, (0, 0, 255)); # warte bis blau

pyautogui.pixelMatchesColor(x, y, color) überprüft, ob das Pixel an der angegebenen Position eine bestimmte Farbe hat. Das Programm wartet, bis die Farbe dort erscheint, und klickt an der Stelle.

Siehe dazu:

  • https://stackoverflow.com/questions/61271147/locate-color-position-on-screen
  • https://www.reddit.com/r/learnpython/comments/rao5ht/wait_until_pixelcoords_certain_color/
...zur Antwort