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

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日

悬赏问题

  • ¥60 求直线方程 使平面上n个点在直线同侧并且距离总和最小
  • ¥50 java算法,给定试题的难度数量(简单,普通,困难),和试题类型数量(单选,多选,判断),以及题库中各种类型的题有多少道,求能否随机抽题。
  • ¥50 rk3588板端推理
  • ¥250 opencv怎么去掉 数字0中间的斜杠。
  • ¥15 这种情况的伯德图和奈奎斯特曲线怎么分析?
  • ¥250 paddleocr带斜线的0很容易识别成9
  • ¥15 电子档案元素采集(tiff及PDF扫描图片)
  • ¥15 flink-sql-connector-rabbitmq使用
  • ¥15 zynq7015,PCIE读写延时偏大
  • ¥15 使用spss做psm(倾向性评分匹配)遇到问题