我有下面的脚本,我希望它每30分钟运行一次,有人可以向我指出正确的方法.
我已经搜索了类似这样的现有问题,但是似乎找不到任何适合我的脚本的想法,但是不知道这是否是我愚蠢的问题.
我的脚本转到屏幕点击的不同位置,然后进行屏幕截图,然后将图像发送给我的gmail帐户.
import pyautogui
import time
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.mime.text import MIMEText
from email import encoders
import os
time.sleep(5)
pyautogui.PAUSE = 1
pyautogui.moveTo(922,134)
pyautogui.click()
pyautogui.PAUSE = 1
pyautogui.moveTo(178,277)
pyautogui.click()
pyautogui.PAUSE = 1
pyautogui.moveTo(178,297)
pyautogui.click()
pyautogui.PAUSE = 1
pyautogui.moveTo(178,315)
pyautogui.click()
pyautogui.PAUSE = 1
pyautogui.screenshot('web.png')
pyautogui.PAUSE = 5
gmail_user = "user@gmail.com"
gmail_pwd = "password"
to = "user@gmail.com"
subject = "Report"
text = "Picture report"
attach = 'web.png'
msg = MIMEMultipart()
msg['From'] = gmail_user
msg['To'] = to
msg['Subject'] = subject
msg.attach(MIMEText(text))
part = MIMEBase('application', 'octet-stream')
part.set_payload(open(attach, 'rb').read())
encoders.encode_base64(part)
part.add_header('Content-Disposition',
'attachment; filename="%s"' % os.path.basename(attach))
msg.attach(part)
mailServer = smtplib.SMTP("smtp.gmail.com", 587)
mailServer.ehlo()
mailServer.starttls()
mailServer.ehlo()
mailServer.login(gmail_user, gmail_pwd)
mailServer.sendmail(gmail_user, to, msg.as_string())
# Should be mailServer.quit(), but that crashes...
mailServer.close()
解决方法:
使用Windows schtasks:
schtasks /create /sc minute /mo 30 /tn "PyAutoGUI Task" /tr "python "
标签:python-3-x,automation,python,time
来源: https://codeday.me/bug/20191109/2012893.html