Bazı masaüstü otomasyon senaryolarında, her seferinde birebir aynı piksele tıklatmak yerine, belirlediğiniz bir alan içindeki rastgele bir noktaya tıklatmak isteyebilirsiniz — bu, tekrarlayan/öngörülebilir bir davranış yerine daha doğal bir etkileşim deseni oluşturur. Bu derste bu mantığı pyautogui ile kuracağız.
Kurulum
pip install pyautogui
Bir Dikdörtgen Alan Tanımlamak
Öncelikle tıklamak istediğiniz alanın dört köşesinin ekran koordinatlarını belirlemeniz gerekir. pyautogui.position() fonksiyonunu kullanarak farenizi istediğiniz noktaya götürüp o anki koordinatı okuyabilirsiniz:
import pyautogui
import time
time.sleep(3)
print(pyautogui.position())
Bu kodu çalıştırıp 3 saniye içinde fareyi istediğiniz köşeye götürürseniz, o noktanın (x, y) koordinatını konsolda görürsünüz — dört köşe için bu işlemi tekrarlayın.
Alan İçinde Rastgele Tıklatma Fonksiyonu
import random
def rastgele_tiklat(sol_ust, sag_ust, sol_alt, sag_alt):
x_min = min(sol_ust[0], sol_alt[0])
x_max = max(sag_ust[0], sag_alt[0])
y_min = min(sol_ust[1], sag_ust[1])
y_max = max(sol_alt[1], sag_alt[1])
rastgele_x = random.randint(x_min, x_max)
rastgele_y = random.randint(y_min, y_max)
pyautogui.click(rastgele_x, rastgele_y)
- Dört köşe koordinatından, alanın minimum/maksimum X ve Y sınırlarını hesaplıyoruz.
random.randint(x_min, x_max)verandom.randint(y_min, y_max), bu sınırlar içinde rastgele bir nokta üretir.pyautogui.click(x, y), fareyi o koordinata götürüp tıklatır.
Belirli Aralıklarla Tekrarlamak
while True:
rastgele_tiklat((940, 368), (1200, 368), (940, 686), (1200, 686))
time.sleep(random.uniform(2, 5))
random.uniform(2, 5), bekleme süresini de sabit değil, 2 ile 5 saniye arasında rastgele bir değer yaparak daha doğal bir zamanlama deseni oluşturur.
Sorumlu Kullanım Notu
Bu tür otomasyon teknikleri, bir oyunun veya platformun kullanım şartlarını ihlal edebilecek şekilde (ör. bir oyunda haksız avantaj sağlamak için) kullanılabilir — bu kullanım şartlarına aykırı olabilir ve hesabınızın askıya alınmasına yol açabilir. Burada anlatılan teknik, tekrarlayan masaüstü görevlerini (ör. kendi test ortamınızda bir arayüzü otomatik test etmek) otomatikleştirmek gibi meşru senaryolar için genel bir yapı taşı olarak sunulmuştur.
Sırada Ne Var?
Serinin son dersinde, Kamuyu Aydınlatma Platformu'nun (KAP) herkese açık API'siyle borsa bildirimlerini gerçek zamanlı çekmeyi göreceğiz.