import webbrowser, pyautogui, time
webbrowser.open('https://example.com/')
print('Press Ctrl-C to quit.')
time.sleep(5)
#pyautogui.moveTo(1061, 881)
try:
while True:
time.sleep(0.2)
pyautogui.click(1061,881)
except KeyboardInterrupt:
print('\nDone.')
关于代码的所有内容都可以工作,除了一个事实,就是一旦单击循环开始,我就无法退出它。不管出于什么原因,键盘中断和使用CTRL-C退出对于这个脚本根本不起作用。
我只想能够按“escape”(或任何其他键)退出循环(或整个程序)-只是任何让循环退出并停止的方法。现在它无限期地运行,但是我希望一个简单的keybind宏能够停止/中断它。
我试过使用getch键绑定转义键以导致中断,但没有成功:
import webbrowser, pyautogui, time, msvcrt
webbrowser.open('https://example.com')
print('Press Ctrl-C to quit.')
time.sleep(5)
#pyautogui.moveTo(1061, 881)
try:
while True:
time.sleep(0.2)
pyautogui.click(1061,881)
if msvcrt.kbhit():
key = ord(readch())
if key == 27:
break
我很惊讶在Python中这么难做到这一点。我在Stackoverflow中检查了很多类似的问题,但是没有令人满意的答案,不幸的是,没有一个能解决我的问题。我已经能够轻松地用更简单的编码语言(如AuotHotKeys)来做这样的事情。我觉得我在绕着解决方案跳舞。任何和所有的帮助将是非常感谢!提前谢谢。