山东大学(威海)relax自动打卡(python)

python实现自动打卡

身为一名学生,经常忘记手动打卡,被班委提醒…
于是肝出了一个打卡程序,每天只要我打开电脑,它就可以自动运行。
再也不会催我打卡了…

思路:通过selenium进行模拟手动打卡

准备
①selenium库
②chrome driver
③配置环境变量

代码

加载库

from selenium import webdriver
import time

进入浏览器设置更换user agent 变成手机模式

options = webdriver.ChromeOptions()

options.add_argument('user-agent=Mozilla/5.0 (Linux; Android 9; V1838A Build/PKQ1.190302.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.89 Mobile Safari/537.36 T7/11.20 SP-engine/2.16.0 baiduboxapp/11.20.0.14 (Baidu; P1 9)')

打开浏览器 进入打卡网站

browser = webdriver.Chrome(options=options)
url = "https://xsc-health.wh.sdu.edu.cn/mobile/index.html?a=b#/common/office/fightncp/home"
browser.get(url)

准备密码

name = "202000820***"
word = 'whsdu@202000820***'
time.sleep(2)

获取用户名的id并输入

username = browser.find_element_by_name('username')
username.send_keys(name)

获取密码的id并输入

username = browser.find_element_by_name('password')
username.send_keys(word)
time.sleep(3)

点击登录

browser.find_element_by_class_name('weui-btn-area').click()
time.sleep(3)

进入打卡

browser.find_element_by_xpath("//*[contains(text(),'打卡')]").click()
time.sleep(3)

提交打卡

browser.find_element_by_xpath("//*[contains(text(),'提交')]").click()
time.sleep(5)

关闭浏览器

browser.quit()

bug

10.16 解决电脑无法打开打卡网站
10.17 解决gps信号不好时无法定位会造成元素遮挡,无法找到提交元素
10.18 解决开机自动打卡


你可能感兴趣的:(python)