sco*_*ner 5 python time automation python-3.x
我有下面的脚本,我希望它每 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()
Run Code Online (Sandbox Code Playgroud)
使用 Windows schtasks:
schtasks /create /sc minute /mo 30 /tn "PyAutoGUI Task" /tr "python <path to script>"
Run Code Online (Sandbox Code Playgroud)
你的循环应该是这样的:
while '1' == '1':
'''
Your script that should loop here
'''
time.sleep(1800)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9747 次 |
| 最近记录: |