小能豆

我的无限循环不是无限的

py

import time
import pyautogui

time.sleep(5)

while True:
    time.sleep(5)

    pyautogui.moveTo(455,620)
    pyautogui.click()

    time.sleep(5)

    pyautogui.moveTo(890,15)
    pyautogui.click()

    if KeyboardInterrupt:
        break
    else:
        continue

我想无休止地自动打开和关闭 chrome 选项卡

我试了一会儿真循环


阅读 114

收藏
2023-05-30

共1个答案

小能豆

你的代码中使用了 timepyautogui 模块来自动化控制 Chrome 浏览器的选项卡打开和关闭。循环中的 time.sleep(5) 表示暂停程序执行 5 秒钟。

然而,你的代码中的循环条件并没有明确的退出条件,所以它会无限循环。同时,if KeyboardInterrupt 语句的判断条件不正确。

如果你想要无限循环地打开和关闭 Chrome 选项卡,并在按下键盘中断键时退出循环,可以使用下面的修正代码:

import time
import pyautogui

while True:
    try:
        time.sleep(5)

        # 打开 Chrome 浏览器选项卡
        pyautogui.moveTo(455, 620)
        pyautogui.click()

        time.sleep(5)

        # 关闭 Chrome 浏览器选项卡
        pyautogui.moveTo(890, 15)
        pyautogui.click()

    except KeyboardInterrupt:
        break

修正后的代码使用 try-except 块来捕获键盘中断异常(KeyboardInterrupt),当按下键盘中断键(通常是 Ctrl+C)时,程序会跳出循环并退出。

请确保你已经安装了 timepyautogui 模块,并在运行代码之前启动了 Chrome 浏览器。另外,确保坐标 (455, 620)(890, 15) 是正确的,以便能够正确地点击打开和关闭选项卡。

2023-05-30