You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否使用time.sleep()实现pyautogui函数的无限循环?新手Python脚本执行异常求助

嘿,我来帮你排查这个问题~

首先,你说加了while True循环后脚本完全没反应,得终止内核才能停,大概率是这几个原因:

1. 循环启动前没给足切换窗口的时间

你原来的代码在循环外有个延迟用来切换LinkedIn页面,但修改后把延迟放进了循环里——脚本一启动就直接进入循环,先睡2秒,这时候你可能还没来得及切到LinkedIn页面,鼠标就已经开始往固定坐标跑了(说不定跑到你的IDE窗口上了),看起来就像没执行一样。

2. 固定坐标的稳定性问题

LinkedIn的按钮位置会跟着窗口大小、屏幕分辨率、页面滚动变化,硬写死坐标很容易失效,比如你滚动页面后,按钮位置变了,脚本点空了,自然看起来没效果。


修正后的基础版本代码

先把最核心的循环问题解决,保证脚本能正常跑起来:

import pyautogui
from time import sleep

# 全局设置每个pyautogui操作后的延迟,只需要设置一次
pyautogui.PAUSE = 2.5
# 给你5秒时间切换到LinkedIn的连接请求页面
sleep(5)

while True:
    try:
        # 执行你的点击动作
        pyautogui.moveTo(1171, 458)
        pyautogui.click()
        pyautogui.moveTo(1123, 403)
        pyautogui.click()
        # 额外加1秒延迟,避免操作太频繁被LinkedIn限制
        sleep(1)
    except KeyboardInterrupt:
        # 按Ctrl+C就能正常退出,不用强制终止内核
        print("脚本已手动终止")
        break

更靠谱的优化方案:用图像识别代替固定坐标

固定坐标太容易失效了,建议用pyautogui的图像识别功能定位按钮。你可以把LinkedIn的「更多」按钮(三个点的那个)和「取消请求」按钮分别截图保存成more_btn.png和cancel_btn.png,然后用下面的代码:

import pyautogui
from time import sleep

pyautogui.PAUSE = 2.5
sleep(5)

# 需要先安装opencv-python:pip install opencv-python
while True:
    try:
        # 定位「更多」按钮,confidence是匹配度,0.8足够识别
        more_button = pyautogui.locateOnScreen('more_btn.png', confidence=0.8)
        if more_button:
            pyautogui.click(more_button)
            # 定位「取消请求」按钮
            cancel_button = pyautogui.locateOnScreen('cancel_btn.png', confidence=0.8)
            if cancel_button:
                pyautogui.click(cancel_button)
            else:
                print("没找到取消请求按钮,滚动页面找下一个~")
                pyautogui.scroll(-200)  # 向下滚动页面
        else:
            print("找不到更多按钮啦,应该是没有待取消的请求了!")
            break
        sleep(1)
    except KeyboardInterrupt:
        print("脚本已手动终止")
        break

这样不管页面怎么滚动、窗口大小怎么变,只要按钮截图没问题,脚本就能准确找到并点击,稳定性高很多~

内容的提问来源于stack exchange,提问作者mvinegret

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 21:17:44