carth.r 2022-05-25 09:09 采纳率: 50%
浏览 130
已结题

pyautogui在循环中不识别图像点击而是点击鼠标当前位置

这是一段自动识别钉钉直播并自动点击直播的代码,期望效果是等到直播通知(dingtalk live.png)出现后点击并进入
为什么我这行代码的8-11行不能定位图片位置而是直接点击鼠标当前位置


import tkinter as tk
import pyautogui as pya
import time

def click():
    aim = pya.locateOnScreen('dingtalk live.png')

    while True:
        if pya.locateOnScreen('dingtalk live.png'):
            pya.click(aim)
            break
        else:
            print("下一次循环")
            time.sleep(3)
window = tk.Tk()
window.title('自动打开钉钉直播')
window.geometry('500x500')
head = tk.Label(window, text='自动打开', bg='pink', font=('微软雅黑', 14), width=36, height=3)
head.pack()
writer = tk.Label(window, text='coded by 陈欣然', bg='white', font=('微软雅黑',6), width=12,height=4)
writer.pack()
start = tk.Button(window, text='开始执行', width=18, height=1, command=click)
start.pack()
tk.mainloop()
  • 写回答

2条回答 默认 最新

  • hyh123a 全栈领域新星创作者 2022-05-25 09:27
    关注

    需要看下后端的输出是什么
    从而判断第11行是否生效


    或者

    修改成这样的试下:

    import tkinter as tk
    import pyautogui as pya
    import time
    
    
    def click():
        x, y = pya.locateCenterOnScreen('dingtalk live.png')
    
        while True:
            if pya.locateCenterOnScreen('dingtalk live.png'):
                print("坐标为", x, y)
                pya.click(x, y)
                break
            else:
                print("下一次循环")
                time.sleep(3)
    
    
    window = tk.Tk()
    window.title('自动打开钉钉直播')
    window.geometry('500x500')
    head = tk.Label(window, text='自动打开', bg='pink', font=('微软雅黑', 14), width=36, height=3)
    head.pack()
    writer = tk.Label(window, text='coded by 陈欣然', bg='white', font=('微软雅黑', 6), width=12, height=4)
    writer.pack()
    start = tk.Button(window, text='开始执行', width=18, height=1, command=click)
    start.pack()
    tk.mainloop()
    

    如果还没达到你的需求,看下输出的坐标值是多少

    参考:


    如有问题及时沟通

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月2日
  • 已采纳回答 5月25日
  • 创建了问题 5月25日

悬赏问题

  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂