@Amur_emk

Почему у меня ошибка и как его пофиксиать?

Хотел познакомиться с библиотекой pyautogui, использовал метод localOnScreen() подставил туда путь изображения скаченного с интернета. Дальше по какой то причине возникла ошибка, указывает на путь.
import pyautogui

path = 'img.PNG'
button = pyautogui.locateOnScreen(path)
pyautogui.click(button)


Если есть другой способ определить координаты на экране через изображение скидывайте!
  • Вопрос задан
  • 125 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Amur_emk,
1. Проверь, что файл Computer.PNG находится именно в "Новая папка (2)".
2. Попробуй указать полный путь, например, так:
from pathlib import Path
from sys import argv

SCRIPT_DIR = Path(sys.argv[0]).parent.resolve()  # путь к папке скрипта
path = str(SCRIPT_DIR / 'Computer.PNG')  # путь к файлу в этой папке
# далее по тексту твоей программы

Но есть ещё одна проблема. Под капотом там, походу, используется пакет pyscreeze, который, в свою очередь, использует opencv (пакет opencv-python, модуль cv2). А у opencv исторически проблемы с кириллическими путями.
Так что, возможно, придётся самостоятельно грузить картинку, например, так.
from pathlib import Path
from sys import argv
import numpy
import cv2

SCRIPT_DIR = Path(sys.argv[0]).parent.resolve()  # путь к папке скрипта
path = str(SCRIPT_DIR / 'Computer.PNG')  # путь к файлу в этой папке

file_data = numpy.fromfile(path, numpy.uint8)  # содержимое файла "как есть"
image = cv2.imdecode(file_data, cv2.IMREAD_COLOR)  # декодированное содержимое (картинка)
button = pyautogui.locateOnScreen(image)  # передаём сразу картинку
pyautogui.click(button)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@Everything_is_bad
Самое время узнать что такое абсолютный и относительный путь и как они работают
Ответ написан
44Igor44
@44Igor44
-
Права выставлены правильно у картинки?
картинка в том же каталоге где и скрипт?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы