python - 当我尝试查找像素颜色时,pyautogui 出现故障,但有时当我什至不更改代码时它也可以工作
问题描述
我制作的简单钢琴瓷砖机器人,它曾经工作,但最近停止工作,当我运行它时,我收到一个错误,但有几次我运行完全相同的东西,它工作得很好。
from pyautogui import *
import pyautogui
import time
import keyboard
import random
import win32api, win32con
def click(x, y):
win32api.SetCursorPos((x, y))
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, 0, 0)
time.sleep(0.05)
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP, 0, 0)
while keyboard.is_pressed('q') == False:
if pyautogui.pixel(480, 280)[0] == 0:
click(480, 280)
if pyautogui.pixel(550, 280)[0] == 0:
click(550, 280)
if pyautogui.pixel(620, 280)[0] == 0:
click(620, 280)
if pyautogui.pixel(688, 280)[0] == 0:
click(688, 280)
当我尝试运行它时弹出的错误:
Traceback (most recent call last):
File "C:\Users\sijav\PycharmProjects\Piano Tiles Bot\main.py", line 19, in <module>
if pyautogui.pixel(550, 280)[0] == 0:
File "C:\Users\sijav\AppData\Local\Programs\Python\Python39\lib\site-packages\pyscreeze\__init__.py", line 613, in pixel
return (r, g, b)
File "C:\Users\sijav\AppData\Local\Programs\Python\Python39\lib\contextlib.py", line 124, in __exit__
next(self.gen)
File "C:\Users\sijav\AppData\Local\Programs\Python\Python39\lib\site-packages\pyscreeze\__init__.py", line 122, in __win32_openDC
raise WindowsError("windll.user32.ReleaseDC failed : return 0")
OSError: windll.user32.ReleaseDC failed : return 0
Process finished with exit code 1
:
解决方案
推荐阅读
- c# - 只读字段未初始化 - 无警告
- codeceptjs - CodeceptJS:使用动态查询字符串启动页面
- ruby-on-rails - 如何将路线连接到部分?
- c++ - 在我的 OpenGL 项目中使用 glsl 着色器的语法错误
- directory - 如何将特定文件/组件放入特定的 Inno Setup .bin 文件中?
- spring-boot - 多对多双向映射
- java - 短路junit5 testfactory
- flutter - Flutter - 资产文件中的文本仅在我在视图打开时重新保存 dart 文件时显示
- html - 设置表格宽度不生效
- python - Python Tkinter网格不起作用,按下按钮后会覆盖标签