Pyautogui arka planda çalıştırma

merhabalar, sizce arka planda python scripti çalıştırıp belirli koordinatlara tıklattırmak mümkün mü ? veya bir diğer python scriptine(gui) focus etmek ?

Merhaba, fareyi kontrol etmekden bahsediyorsunuz sanırım:


evet fakat arka planda, misal internet(herhangi biri) tarayıcısında gezinirken script arka planda çalışarak o pencere içinde belirli koordinatlara tıklayacak

Eğer asıl amacınız taracıları kontrol etmek ise selenium kullanabilirsiniz. Eğer genel olarak arka planda çalışacak bir program yapmak istiyorsanız python dosyanızın uzantısını .pyw yapmanız yeterli olur.

anlatamadım herhalde…

amacım belirli bir pencereye odaklanıp(focus) o pencere içerisinde koordinatlara tıklatmak. dosya .pyw uzantılı olunca arka planda calısır zaten.

Tamam, ekrana tıklama işi en başta verdiğim kütüphaneler ile yapılabilir. Geriye pencerenin koordinatını bulmak kalıyor sanırım. Bu işlemi hangi işletim sisteminde yapıcaksınız?

windows.

arka planda benim belirlediğim pencere içerisinde belirtilen ( pyautogui ile mümkün ) resimlere tıklayacak.

sıkıntı şu ki pyautogui arka planda çalışsa bile gerçek zamanlı tarama yapıyor… açılan pencereyi aramıyor. focus window tarzı fonksiyon lazım

Buradaki kastınızı tam olarak anlamadım?

Bu kod bende çalıştı:

import win32gui
import re


class WindowMgr:
    """Encapsulates some calls to the winapi for window management"""

    def __init__ (self):
        """Constructor"""
        self._handle = None

    def find_window(self, class_name, window_name=None):
        """find a window by its class_name"""
        self._handle = win32gui.FindWindow(class_name, window_name)

    def _window_enum_callback(self, hwnd, wildcard):
        """Pass to win32gui.EnumWindows() to check all the opened windows"""
        if re.match(wildcard, str(win32gui.GetWindowText(hwnd))) is not None:
            self._handle = hwnd

    def find_window_wildcard(self, wildcard):
        """find a window whose title matches the wildcard regex"""
        self._handle = None
        win32gui.EnumWindows(self._window_enum_callback, wildcard)

    def set_foreground(self):
        """put the window in the foreground"""
        win32gui.SetForegroundWindow(self._handle)


w = WindowMgr()
w.find_window_wildcard(".*Python.*") # pencerenin başlığının ismini regex olarak veriyoruz
w.set_foreground()