python如何暂停脚本弹出对话框_如何在点击时暂停pyautogui脚本?

我想让我的脚本Pyautogui暂停当用户点击并显示一个对话框或重新点击继续在最后一行暂停。在

我尝试了不同的测试,但没有成功。在

我主要用Queue测试当用户输入“Space”时,他暂停脚本,但他不为使用的特定命令行工作。

我想用“点击”代替“空格”。在

使用此命令行无法停止进程并继续:a = pyautogui.typewrite('TEST', interval=0.15)

b = pyautogui.typewrite('TEST', interval=0.15)

c = pyautogui.typewrite('TEST', interval=0.15)

d = pyautogui.typewrite('TEST', interval=0.15)

myQueue.enqueue(a)

myQueue.enqueue(b)

myQueue.enqueue(c)

myQueue.enqueue(d)

但使用此命令行可以停止进程并继续:

^{pr2}$

脚本:# -*- coding: utf-8 -*-

import pyautogui

import time

import datetime

from datetime import date, timedelta

from Tkinter import *

screenWidth, screenHeight = pyautogui.size()

currentMouseX, currentMouseY = pyautogui.position()

yesterday = date.today() - timedelta(1)

three = date.today() - timedelta(3)

d = datetime.datetime.now()

monday = d.isoweekday() in range(1)

class MyLoop():

def __init__(self, root):

self.running = True

self.aboutToQuit = False

self.root = root

self.someVar = 0

self.root.bind("", self.switch)

self.root.bind("", self.exit)

while not self.aboutToQuit:

self.root.update() # always process new events

if self.running:

myQueue = Queue()

#Insert here specific command line

a = pyautogui.confirm('TEST')

b = pyautogui.typewrite('TEST', interval=0.15)

c = pyautogui.typewrite('TEST', interval=0.15)

d = pyautogui.typewrite('TEST', interval=0.15)

e = pyautogui.typewrite('TEST', interval=0.15)

myQueue.enqueue(a) #prints True

myQueue.enqueue(b) #prints True

myQueue.enqueue(c) #prints True

myQueue.enqueue(d) #prints False

myQueue.enqueue(e) #prints True

#Finish to insert

time.sleep(.1)

else: # If paused, don't do anything

time.sleep(.1)

def switch(self, event):

print(['Unpausing','Pausing'][self.running])

self.running = not(self.running)

def exit(self, event):

self.aboutToQuit = True

self.root.destroy()

class Queue:

#Constructor creates a list

def __init__(self):

self.queue = list()

#Adding elements to queue

def enqueue(self,data):

#Checking to avoid duplicate entry (not mandatory)

if data not in self.queue:

self.queue.insert(0,data)

return True

return False

#Removing the last element from the queue

def dequeue(self):

if len(self.queue)>0:

return self.queue.pop()

return ("Queue Empty!")

#Getting the size of the queue

def size(self):

return len(self.queue)

#printing the elements of the queue

def printQueue(self):

return self.queue

if __name__ == "__main__":

root = Tk()

root.withdraw() # don't show the tkinter window

MyLoop(root)

root.mainloop()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值