Karle— 2022-02-17 16:02 采纳率: 71.4%
浏览 33
已结题

python在本地运行和腾讯云函数运行结果不一样

一个自动健康打卡的程序,我在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

img


img

腾讯云函数测试结果
返回null,邮件内容是error

img


img

  • 写回答

1条回答 默认 最新

  • 於黾 2022-02-17 16:17
    关注

    别光显示个error,except里不要空着,写上错误类型,然后把错误类型给result,这样才好调试啊

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 2月25日
  • 已采纳回答 2月17日
  • 创建了问题 2月17日

悬赏问题

  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决