1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. Anuncie Aqui
    Anuncie aqui você Também: fdantas@4each.com.br

[Python] My Bot not clicking in blue icon that appears on the screen

Discussão em 'Python' iniciado por Stack, Setembro 23, 2024.

  1. Stack

    Stack Membro Participativo

    Im got problem with my bot, he must select aplication and on aplication when im do something, then small blue icon appear on the screen, then my bot must click a icon, but there is a problem, hes not clicking on icon and im dont know why. Icon is small.

    This is my code:

    import pyautogui
    import cv2
    import numpy as np
    import time
    import mss
    import pygetwindow as gw

    template_path = 'blue_icon.png'
    app_title = "XXX" # Podaj dokładną nazwę okna aplikacji


    def find_and_click_blue_icon():
    # Pobierz okno aplikacji
    app_window = gw.getWindowsWithTitle(app_title)

    if not app_window:
    print(f'Nie znaleziono aplikacji o nazwie: {app_title}')
    return

    app_window = app_window[0] # Zakładamy, że okno jest pierwsze na liście

    # Przełącz na to okno
    app_window.activate()

    # Współrzędne okna aplikacji
    left, top, width, height = app_window.left, app_window.top, app_window.width, app_window.height

    # Zrzut ekranu z obszaru okna aplikacji
    with mss.mss() as sct:
    monitor = {"top": top, "left": left, "width": width, "height": height}
    screenshot = sct.grab(monitor)
    screenshot = np.array(screenshot)
    screenshot = cv2.cvtColor(screenshot, cv2.COLOR_BGRA2BGR)

    # Wczytanie obrazu niebieskiego znaczka
    template = cv2.imread(template_path, cv2.IMREAD_COLOR)

    # Dopasowanie wzorca
    result = cv2.matchTemplate(screenshot, template, cv2.TM_CCOEFF_NORMED)
    min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(result)

    # Kliknięcie, jeśli dopasowanie jest wysokie
    if max_val > 0.2:
    icon_x, icon_y = max_loc
    icon_center_x = left + icon_x + template.shape[1] // 2 # Dodaj lewą krawędź okna
    icon_center_y = top + icon_y + template.shape[0] // 2 # Dodaj górną krawędź okna
    pyautogui.click(icon_center_x, icon_center_y)


    # Główna pętla programu
    while True:
    find_and_click_blue_icon()
    time.sleep(0.4)


    Clicking on blue icon in application

    Continue reading...

Compartilhe esta Página