为了账号安全,请及时绑定邮箱和手机立即绑定

有没有一种方法可以检测某个像素的 RGB 值并在 if 条件下使用它?

有没有一种方法可以检测某个像素的 RGB 值并在 if 条件下使用它?

qq_花开花谢_0 2021-12-29 20:08:16
我正在尝试编写一个脚本来自动化工作中的无聊内容。为此,我使用了“pyautogui”并且大部分脚本都已完成。操作系统是windows btw。我的问题是,我目前正在使用 time.sleep() 命令让脚本在进程的每个步骤之间工作,但最好检测某个像素的 RGB 值。我现在所做的就是这样;pyautogui.click(req_management_find[0],req_management_find[1])    time.sleep(2)pyautogui.click(req_management_print[0],req_management_print[1])while True:         time.sleep(0.5)         pix=pyautogui.pixel(1348,131)         if pix[1] == 27 and pix[2] == 161 and pix[3] == 226:           break         else:                 time.sleep(0.5)pyautogui.click(req_print_close[0],req_print_close[1])这只是永远等待而不是跳出 while 循环。我已经通过使用读取了像素的 RGB 值pyautogui.displayMousePosition()。通常是 (255, 255, 255)。经过一些不确定的时间后,我尝试编写的程序会弹出一个弹出窗口,将像素的 RGB 从 (255, 255, 255) 更改为 (27, 161, 226)。为什么我的代码没有检测到这个变化?
查看完整描述

1 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

索引从 0 开始,所以它是:

if pix[0] == 27 and pix[1] == 161 and pix[2] == 226:

或者您可以使用以下方法使其更明确:

if pix.red == 27 and pix.green == 161 and pix.blue == 226:

当然,正如@Aditya Santoso 所建议的那样:

if pix == (27, 161, 226):


查看完整回答
反对 回复 2021-12-29
  • 1 回答
  • 0 关注
  • 108 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信