Windows ekranındaki yazıyı algılayıp tıklamak

Windows ekranında bir yazı bulmasını mauseyi yazının üzerine gelip tıklamasını istiyorum bunu nasıl yapabilirim

Mesela ekranda “bilgisayarım” yazısı var mauseyi oraya getirim tıklamasını istiyorm

Acaba biligisayarim yazısının fotosuna ihtiyacım mı var data olarak hani
Bunu nasıl yapabilirim

Merhaba.
Opencv ile yazıyı algılatıp, Pyautogui ile tıklatma yapabilirsiniz.

Aslında yol gösterecek bir örnek arıyorum

Merhaba,

Windows üzerinde bir yazıyı bulmanın birden çok yolu vardır. ( Belki farklı yöntemler de araştırılabilir.)

Masa üzerindeki aktif pencerenin kulbunu alıp (handle) ile text in yerini enum fonksiyonlarla belirlemek.

Diğeri, bir web sayfası ise bu web sayfasını parse etmek ve metnin yerini bulmak.

Üçüncü olarak, ekran resmi alarak resmi OCR kütüphaneleri kullanarak metni bulmaya çalışarak konum bilgisini almak.

Bu ilk aşama sadece metnin yerini bulmakla ilgili.

İkinci aşamada, programın yada masa üstünde tıklanacak olan uygulamanın özelliğine göre farklı yöntemlerle windows a WM_KEYPRESS gibi mesajlar göndermek.

Seçenekler ve ihtimaller çok fazla olunca örnek vermek zor oluyor. Tüm ihtimaller için ayrı örnek vermek zaman alacaktır.

Biraz daha fazla bilgi verebilirsen daha yakın örnekler oluşturabiliriz.

Bir web sayfasında bir programı mı otomatize etmek istiyorsun, meşhur metin2 bot yazarları gibi bir bot mu yazmak istiyorsun, yada masa üstü uygulamalarını otomatize mi etmek istiyorsun bilemiyorum.

Bu nedenle çalışan örnek vermek de haliyle zor oluyor. Çünkü hepsi farklı başarım ve yaklaşım sergiliyor.

Örnekleyelim:

Mesela öncelikle ekran resmi almalısın yolundan gidelim.

# Python program to take
# screenshots
  
  
import numpy as np
import cv2
import pyautogui
   
  
# take screenshot using pyautogui
image = pyautogui.screenshot()
   
# since the pyautogui takes as a 
# PIL(pillow) and in RGB we need to 
# convert it to numpy array and BGR 
# so we can write it to the disk
image = cv2.cvtColor(np.array(image),
                     cv2.COLOR_RGB2BGR)
   
# writing it to the disk using opencv
cv2.imwrite("image1.png", image)

Kaynak:
How to take screenshots using python? - GeeksforGeeks

Burada opencv, pyautogui kütüphanelerini kurmalısın. Opencv sadece çekilen ekran görüntüsünü ekranda görmek için gerekli.

import pyautogui
im = pyautogui.screenshot()
im.save("SS1.jpg") 

Gibi kodla doğrudan görmeden de ekran alıntısı yapabilirsin.

Kaynak:

2 Ways to Capture Screenshots Using Python - AskPython

Yine yukarıdaki linkte pillow kütüphanesi ile ekran görüntüsü alabilirsin.

Burada görüntü alarak ilerleme yolunu seçtiğimiz için.Bu görüntüden OCR ile metni bulma zorunda kalacağız.

Bunun için OCR kütüphaneleri kullanmak zorunda kalırız.

Extract Text from Image using Python | Python-bloggers

Tesseract kurmayı ve kullanmayı öğrenmek zorunda kalırsın.

Burada alınan metinlerden aradığına uyan metinin koordinatını.

Tıklama komutuna göndererek. Üzerine tıklamış olursun.

Yada bir web sayfasına tıklamak istiyorsun varsayalım.

Click button by text using Python and Selenium - GeeksforGeeks

Bu durumda yukarıdaki örneği inceleyebilirsin.

Eğer bir pencere içerisindeki bir metni arıyorsan, enum windows konusuna bakmak gerekir.

Bu durumda ise;

İyi başlangıç nokası:

win32gui__GetWindowText_meth.html (timgolden.me.uk)

win32gui__EnumWindows_meth.html (timgolden.me.uk)

Fonksiyonların çalışmasını anlamalısın.

Yani spesific bir çözüm için spesifik soru sormalısın.

2 Beğeni

Bu video da aradığını bulabilirsin.

Bulamadım bu videoda renk algılamadan gidilmiş ben yazıyı bulup tıklamak istiyorum

Aradığım mentinin konumu değişken olduğu için y x ile yönlendirmek mümkün gözükmüyor data olarak foto kullanip onu ekranda bulup tıklama için nasıl bişey yapmalıyım
Ayrıca ekranı anlık takip etmesi gerek

Yani pyautogui yazıyı algılayamaz diye düşünüyorum. Örneğin Bilgisayarım klasörünün altındaki yazının ekran görüntüsünü alıp ona tıklatabilirsin. Bu yöntem saçma ama ben bu kadar biliyorum. Dediğin şeyi opencv ile yapmak lazım oda beni aşar.

1 Beğeni

videoda onu yapıyor zaten

Bak video da adam cin ali çizmiş. Koda da cin ali dosyasının yolunu vermiş. Ekranda aynı resim varsa buluyo ama tıklama yapmamış. Tıklamayı da sen yapıver.

1 Beğeni

dostum yapabildin mi aynısı bana da lazım