一个自动健康打卡的程序,我在PyCharm运行得到的结果是正确的,但部署在云函数后测试,结果是错误的,这个是什么情况
# -*- coding: utf-8 -*-
import time
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
from selenium import webdriver
from selenium.webdriver.common.by import By
def main():
try:
option = webdriver.ChromeOptions()
# option.add_argument('--headless') # 设置无头启动
browser = webdriver.Chrome(options=option) # 调用无头的谷歌浏览器
browser.implicitly_wait(5) # 隐式等待
browser.get("https://yqfk-daka.dgut.edu.cn/")
# 接受浏览器弹窗
try:
browser.switch_to.alert().accept()
except:
pass
# 登录
browser.find_element(By.NAME, "username").send_keys("***") # 学号
browser.find_element(By.ID, "casPassword").send_keys("***\n") # 密码
time.sleep(2)
try:
browser.execute_script('document.querySelector("button").click();')
except:
pass
result = "success"
browser.quit()
except:
result = "error" # 异常处理
print(result)
msg = MIMEText(result, 'html', 'utf-8') # 正文
msg['From'] = formataddr(["自动打卡", "***"]) # 发信人
msg['Subject'] = "自动打卡" # 标题
server = smtplib.SMTP_SSL("smtp.qq.com") # 邮箱服务器
server.login("***", "***") # 发件人 密钥
server.sendmail("***", "***", msg.as_string()) # 发件人 收件人
server.quit()
def main_handler(event, context):
return main()
if __name__ == '__main__':
main()
本地运行结果
返回success
腾讯云函数测试结果
返回null,邮件内容是error