问题描述:循环多次发送文字时,程序会在开头阻塞,在最初的几次循环里,程序并不会输出文字,并且在后期短时间跳出(不能成功输出)。
问题原因:我也不知道,但是这个太魔怔了,可能是函数原理或者电脑性能的问题吧。
问题解决:在循环调用该函数时加上九秒的延时。至于延时是否可以缩短,我还没有尝试太多,有兴趣可以尝试一下。
我贴出我写的代码,可能对理解我所讲的问题有所帮助。
import pyautogui as py
import time
def chineseword(word,t):
py.typewrite (word,t)
py.typewrite(['space'])
a = py.confirm('本软件不含任何病毒,请放心使用,接受请点击确定。打开你想要发送的人的微信聊天框,再打开该程序即可。','温馨提示',('确定','取消'))
if a == '确定':
word_send = py.prompt('请输入中文拼音,取消按钮发送默认信息','输入框','woaini')
n = py.prompt('请输入发送消息次数,取消按钮发送默认次数','输入框','10')
add = py.locateCenterOnScreen("E:\Study_File\Python_Example\send.png",grayscale = True)
while add == None :
py.alert ('请把发送按钮放在屏幕中心位置,按确定重试')
time.sleep(0.5)
add = py.locateCenterOnScreen("send.png",grayscale = True)
t=0.05
py.alert('已准备完毕,即将发送,请耐心等候')
py.click(add[0],add[1]-25,1,1)
time.sleep(9)
for i in range(int(n)):
chineseword(word_send,t)
py.click(add[0],add[1],1,0.5)