【Python】selenium自动化打卡

目录

一、主要功能的实现

二、功能实现所使用的模块

三、 具体实现内容

1.登录并跳转到上报页面

2.打开开发者工具并设置edge浏览器传感器

3.刷新后点击上报

4.通过SMTP向邮箱发送执行情况

四、部署到服务器端

1.部署本地服务器

2.部署云端服务器


钉钉健康打卡、钉钉自动打卡

一、主要功能的实现

  1. 登录账号
  2. 点击页面
  3. 填写体温
  4. 点击上报
  5. 执行完成后,发送邮箱通知
  6. 部署云服务器,后台自动执行

二、功能实现所使用的模块

  1. time
  2. win32api
  3. win32con
  4. pynput
  5. selenium
  6. smtplib
  7. MIMEText

win32api、win32con、pynput模拟控制鼠标键盘,不要问我为啥不用一个库(本来只用一个好好的,后来传到服务器里就不行了,只好两个模块都用了)

selenium驱动Edge浏览器,需要下载Edge的driver驱动

smtplib和MIMEText就是负责邮件的收发了,这里我用的是QQ邮箱,需要在自己邮箱内开启SMTP功能,还有QQ邮箱的SMTP服务器。

三、 具体实现内容

不要在意为啥有那么多的time.sleep(),这里不追求效率,考虑网速和服务器辣鸡等原因,多等会儿稳健一点。

1.登录并跳转到上报页面

主要通过selenium的find_element(By._)定位

driver = webdriver.Edge()   #创建一个edge实例
driver.maximize_window()    #最大化页面
driver.get("学校OA登录页面.html")  #OA系统登陆页面
time.sleep(2)

#通过find_element(By._)定位输入框和登录的button按钮,并输入账号密码登录
driver.find_element(By.ID,"name").send_keys("123456") #输入账号
time.sleep(2)
driver.find_element(By.ID,"password").send_keys("123456") #输入密码
time.sleep(2)
driver.find_element(By.ID,"submit_login").click() #点击登录
time.sleep(3)
driver.find_element(By.LINK_TEXT,"服务中心").click() #点击服务中心
time.sleep(3)
driver.find_element(By.XPATH,"//*[@id='commonService']/ul/li[2]").click()#点击学生健康上报
time.sleep(3)
driver.switch_to.window(driver.window_handles[1])
time.sleep(2)

2.打开开发者工具并设置edge浏览器传感器

到这里就用到了pynput的鼠标和键盘控制了,写了一个move_mouse()后面直接调用就行(屎山代码&#

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值