import time
import sys
import pyautogui
pyautogui.FAILSAFE = True
pyautogui.PAUSE = 1
pyautogui.size()
width, height = pyautogui.size()
y = pyautogui.locateOnScreen('LOLicon.png')
print(y)
for i in range(2):
x = pyautogui.moveTo(y[0:2])
pyautogui.click(x)
time.sleep(2)
pyautogui.doubleClick()
Это выше работает отлично. Единственное изменение в коде — x = pyautogui.moveTo(y[0:2])
.
Поэтому убедитесь, что изображение действительно отображается на экране во время выполнения скрипта (не скрыто редактором кода или другим окном) и содержимое изображения LOLicon.png
действительно соответствует вашим предположениям. .
Также может быть полезно проверить, является ли этот код:
import pyautogui
im = pyautogui.screenshot(region=(20, 20, 50, 50))
im.save("myScreenshot.png")
y = pyautogui.locateOnScreen("myScreenshot.png")
print(y)
x = pyautogui.moveTo(y[0:2])
работает нормально без ошибок. Если это так, вы можете переименовать myScreenshot.png
в LOLicon.png
и настроить region=(20, 20, 50, 50)
так, чтобы он отображал значок LOLi на экране.
Проверьте https://pyautogui.readthedocs.io/en/latest/screenshot.html?highlight=save%20image для получения подробной информации о функциях скриншотов в pyautogui и убедитесь, что необходимые модули установлены (Pillow и, в конечном итоге, scrot, если вы работаете в Linux).
person
Claudio
schedule
22.08.2018