Chào cả nhà.
Em thử tạo 1 scripts python đơn giản là click vào 2 điểm sau đó click vào hình ảnh (do hình ảnh nó không ở cùng 1 vị trí). Hình em chụp từ Snip và lưu lại với đuôi png. Code như sau:
import pyautogui
position1 = (758, 539)
position2 = (661, 607)
image_path = 'C:/Capture.png'
pyautogui.click(position1[0], position1[1])
pyautogui.click(position2[0], position2[1])
image_location = pyautogui.locateOnScreen(image_path)
if image_location:
pyautogui.click(image_location.left + image_location.width / 2, image_location.top + image_location.height / 2)
else:
print("not")
Nhưng không hiểu sao nó báo lỗi như thế này ạ? Em tìm thì thấy nó sai path hoặc hình nhưng e chắc chắn là path đúng và hình e snip nên giống 100% với hình hiển thị.
C:\Users\PC\Desktop\Python\venv\Scripts\python.exe C:\Users\PC\Desktop\Python\Click.py
Traceback (most recent call last):
File "C:\Users\PC\Desktop\Python\venv\Lib\site-packages\pyautogui__init.py", line 172, in wrapper
return wrappedFunction(args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\PC\Desktop\Python\venv\Lib\site-packages\pyautogui__init.py", line 210, in locateOnScreen
return pyscreeze.locateOnScreen(args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\PC\Desktop\Python\venv\Lib\site-packages\pyscreeze__init.py", line 405, in locateOnScreen
retVal = locate(image, screenshotIm, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\PC\Desktop\Python\venv\Lib\site-packages\pyscreeze__init.py", line 383, in locate
points = tuple(locateAll(needleImage, haystackImage, **kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\PC\Desktop\Python\venv\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\PC\Desktop\Python\Click.py", line 17, in <module>
image_location = pyautogui.locateOnScreen(image_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\PC\Desktop\Python\venv\Lib\site-packages\pyautogui__init__.py", line 174, in wrapper
raise ImageNotFoundException # Raise PyAutoGUI's ImageNotFoundException.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pyautogui.ImageNotFoundException
Process finished with exit code 1
Nhờ anh chị giúp đỡ ạ.