Teşekkürler güzel kaynaklar varmış lazım olursa bakarım.
Şimdi kaydettiğim ilerlemeden bahsedeyim.
Biraz github karıştırdıktan sonra pyautougui modülü ile ekranda bahsettiğim şekilde arama yapılabileceğini farkettim.
pyautogui.locateOnScreen('resim.png')
Bu aradığınız şeyin lokasyonunu bulmak için gerekli fonksiyon. 4 parametre döndürüyor.print ile incelersek:
print(pyautogui.locateOnScreen('resim.png'))
>>>(1101, 252, 50, 50)
- Sayı x koordinatı
- Sayı y koordinatı
- Sayı bulunan kısmın genişliği
- Sayı bulunan kısmın uzunluğu
Bize sadece koordinatlar gerekiyor bunun için
pyautogui.center(pyautogui.locateOnScreen('resim.png'))
Tıklama içinse
pyautougui.click(pyautogui.center(pyautogui.locateOnScreen('resim.png')))
Bu arada locate fonksiyonun 2 parametresi daha var
pyautogui.locateOnScreen('resim.png' , confidence=1, grayscale=False )
confidence ile piksel hassasiyeti yapılıyor. Mesela 0.5 uyuşma gibi. Tabi bu yanlış tespite sebep olabilir. Bunu kullanmak için opencv nin yüklü olması gerekiyor.
grayscale ise True olduğunda değerlendirmeyi grinin tonlarında yapmasını sağlıyor. Bu işlem süresini kısaltıyor ama hatalı eşlemeler yapabiliyor.
Tabi bu anlattıklarımın daha kapsamlısı opencv ile yapılıyordur ve swf uzantılı animasyonlu şeylerde daha kesin sonuç veriyordur.