import time
import pyautogui
print("Başlatıldı")
while True:
locateOnScreen = pyautogui.locateOnScreen('C:\\deneme.png')
if locateOnScreen != None:
x, y = pyautogui.center(locateOnScreen)
print("Verilen görsele tıklandı!")
pyautogui.click(x, y)
pyautogui.moveTo(x, y+250)
time.sleep(0.2)
python dosya_adi.py
Hocam aşağıya yapıştırdığım gibi bir hata aldım. Nerde hata yaptım acaba?Dostum CMD'yi açıp dosyanın olduğu dizine gel ve şu kodu çalıştır:
Kod:python dosya_adi.py
Çalıştırdıktan sonra sorun düzelmez ise yanıtlar mısın?
Traceback (most recent call last):
File "C:\Users\root\AppData\Local\Programs\Python\Python311\Lib\site-packages\pyautogui\__init__.py", line 172, in wrapper
return wrappedFunction(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\root\AppData\Local\Programs\Python\Python311\Lib\site-packages\pyautogui\__init__.py", line 210, in locateOnScreen
return pyscreeze.locateOnScreen(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\root\AppData\Local\Programs\Python\Python311\Lib\site-packages\pyscreeze\__init__.py", line 405, in locateOnScreen
retVal = locate(image, screenshotIm, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\root\AppData\Local\Programs\Python\Python311\Lib\site-packages\pyscreeze\__init__.py", line 383, in locate
points = tuple(locateAll(needleImage, haystackImage, **kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\root\AppData\Local\Programs\Python\Python311\Lib\site-packages\pyscreeze\__init__.py", line 371, in _locateAll_pillow
raise ImageNotFoundException('Could not locate the image.')
pyscreeze.ImageNotFoundException: Could not locate the image.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\root\Desktop\yeni\au.py", line 14, in <module>
locateOnScreen = pyautogui.locateOnScreen('C:\\deneme.png')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\root\AppData\Local\Programs\Python\Python311\Lib\site-packages\pyautogui\__init__.py", line 174, in wrapper
raise ImageNotFoundException # Raise PyAutoGUI's ImageNotFoundException.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pyautogui.ImageNotFoundException
Resmin yolunu doğru yazdığına emin misin ya da .py dosyasını? İlgili konumda resim bulunamamış.Hocam aşağıya yapıştırdığım gibi bir hata aldım. Nerde hata yaptım acaba?
Kod:Traceback (most recent call last): File "C:\Users\root\AppData\Local\Programs\Python\Python311\Lib\site-packages\pyautogui\__init__.py", line 172, in wrapper return wrappedFunction(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\root\AppData\Local\Programs\Python\Python311\Lib\site-packages\pyautogui\__init__.py", line 210, in locateOnScreen return pyscreeze.locateOnScreen(*args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\root\AppData\Local\Programs\Python\Python311\Lib\site-packages\pyscreeze\__init__.py", line 405, in locateOnScreen retVal = locate(image, screenshotIm, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\root\AppData\Local\Programs\Python\Python311\Lib\site-packages\pyscreeze\__init__.py", line 383, in locate points = tuple(locateAll(needleImage, haystackImage, **kwargs)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\root\AppData\Local\Programs\Python\Python311\Lib\site-packages\pyscreeze\__init__.py", line 371, in _locateAll_pillow raise ImageNotFoundException('Could not locate the image.') pyscreeze.ImageNotFoundException: Could not locate the image. During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:\Users\root\Desktop\yeni\au.py", line 14, in <module> locateOnScreen = pyautogui.locateOnScreen('C:\deneme.png') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\root\AppData\Local\Programs\Python\Python311\Lib\site-packages\pyautogui\__init__.py", line 174, in wrapper raise ImageNotFoundException # Raise PyAutoGUI's ImageNotFoundException. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ pyautogui.ImageNotFoundException
locateOnScreen = pyautogui.locateOnScreen('C:\\deneme.png')
Verilen png dosyasını ekranda arayıp çıkınca da tıklamasını istemiştim, düzelteme yapmam gereken bir yer var mı?Resmin yolunu doğru yazdığına emin misin ya da .py dosyasını? İlgili konumda resim bulunamamış.
Koda baktım da sen zaten "locateOnScreen"i bir şeye eşitlemişsin. Sonra eşit olmaz ise bana bunu koştur demişsin. Ön koşul eşitlik olduğu için bakıyor. Bulamıyor. Hata veriyor.
Bahsettiğim komut:
Python:locateOnScreen = pyautogui.locateOnScreen('C:\deneme.png')
Ne yapmak istediğini tam algılayamadım bu arada.
Yardımcı olabilmek amacıyla soruyorum.Verilen png dosyasını ekranda arayıp çıkınca da tıklamasını istemiştim, düzelteme yapmam gereken bir yer var mı?
Yardımcı olabilmek amacıyla soruyorum.
Ekranda aramak derken zaten ilgili resmin uzantısını yazıp misal Desktop/resim.png yazdığınızda zaten var ise bulur ve açar. Yok ise hata verir. Bu hatayı bir if komutuna eşleyerek hata alındığında şu işlemi yaptır dersin.
Örnek olarak bir PNG dosyası oluşturmak ya da istediğin her ne ise.
Spesifik olarak ekranda ara deyip, tıkla deyip ne yaptırmak istiyorsunuz ?
Amaç söylenirse kısa yolu sunulabilir.
Ayrıca kodlama özellikle Executible'a çevirmediysen bir compiler ile yazmanı şiddetle öneririm. .py uzantısına tıklayınca açıp işlemi yapıp kapatır kendini. Yapamazsa da kapanır. Hata vs milisaniye içinde verir ve kapanır. Bu şekilde kodun doğruluğu/yanlışlığı, ne yaptığı anlaşılmaz.
Fakat bir compiler ile yaparsan satır satır işler kodu ve hata veren satırı hatta bazıları yeri işaretler ve bak burada hata var der. Sen de çözersin.
Estağfurullah. Yine siz çözmüş oldunuz. Fikir verebildiysem ne ala. if else olarak değil de try ile çözmüşsünüz.Tamamdır hocam hallettim. Try diyerek yukarıdaki kodu verdim, except fotoğrafı bulamazsa da "görüntü bulunamadı, bekleniyor..."diyerek dögüyü başa atıyor. Basit bir hataymış ama yardımcı olduğunuz için teşekkürler.