自动打卡python脚本_Centos7从零开始配置py每日自动打卡脚本
本次实验使用的是阿里云Centos7.7,从啥也没有的linux开始配置一个自动打卡脚本(为啥是啥也没有?因为之前那个服务器给我整坏了。与其修复还不如干脆重装省事 反正本来也没啥东西滑稽 )
pip安装selenium模块
pip3 install selenium
2. 安装chrome和chromedriver
chrome:
curl https://intoli.com/install-google-chrome.sh | bash
wget https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
sudo yum install ./google-chrome-stable_current_*.rpm
chrome测试:
google-chrome –version
chromedriver:
wget http://npm.taobao.org/mirrors/chromedriver/2.41/chromedriver_linux64.zip
将下载的文件解压,放在/usr/bin/chromedriver:
unzip chromedriver_linux64.zip -d /usr/bin/chromedriver
给予执行权限:
chmod +x /usr/bin/chromedriver
3.上述步骤安装成功与否的测试
创建文件命令:
vi test.py
测试代码:(创建文件以后按i进入insert模式,文件中输入以下)
from selenium import webdriver
代码运行:
python3 test.py
测试代码:
from selenium import webdriver
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from configparser import ConfigParser
from pyrsistent._transformations import inc
# 只需修改下面三项即可 学号 密码 收件箱
url = "http://tjxx.lnu.edu.cn/"
movement = "/html/body/div[1]/form/div[3]/div[2]/label[1]"#有无移动
touch = "/html/body/div[1]/form/div[4]/div[2]/label[1]"#有无接触史
condition = "/html/body/div[1]/form/div[5]/div[2]/label[1]"#健康状况
quarantine = "/html/body/div[1]/form/div[6]/div[2]/label[1]"#是否隔离
inCollege = "/html/body/div[1]/form/div[7]/div[2]/label[1]"#是否在校
submit = "/html/body/div[1]/form/div[8]/a"#提交
check = "/html/body/div[3]/div[2]/div[2]/a[2]"#最后的确定按钮
# 模拟登陆打卡
def do_login(driver,userName, password):
# driver.maximize_window() 将窗口最大化
# 找到登录框 输入账号密码
driver.find_element_by_name('userid').send_keys(userName)
driver.find_element_by_name('userpwd').send_keys(password)
driver.find_element_by_id('formSubmitBtn').click()#点击登录
driver.find_element_by_xpath(movement).click()
driver.find_element_by_xpath(touch).click()
driver.find_element_by_xpath(condition).click()
driver.find_element_by_xpath(quarantine).click()
driver.find_element_by_xpath(inCollege).click()
driver.find_element_by_xpath(submit).click()#点击提交
time.sleep(2)
driver.find_element_by_xpath(check).click()#点击确定
time.sleep(1)
if __name__ == '__main__':
# 模拟浏览器打开网站
cf = ConfigParser()
cf.read("config.ini")
userName = cf.get("config", "userName")
password = cf.get("config", "password")
driver = webdriver.Chrome()
driver.get(url)
# 登录并打卡
do_login(driver,userName, password)
# sendMail(nowTime + "\n打卡成功!")
print("打卡结束")
time.sleep(1)
driver.quit()
4.接轨windows下的代码:
相比于上面这篇博客的代码,我们需要做一些修改以适配系统
更改驱动注册代码,改为:
driver = webdriver.Chrome(chrome_options=chrome_options)
在头部添加:
import time
from selenium.webdriver.chrome.options import Options
# guarantee our program can be in operation under command line
chrome_options = Options()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--headless')
chrome_options.add_argument('blink-settings=imagesEnabled=false')
chrome_options.add_argument('--disable-gpu')
另外我还添加了一个文件输入学号密码的操作,即在脚本同一路径下添加一个config.ini文件,文件内容为:
[config]
userName = 登陆用户名
password = 密码
当然用上文的写死在脚本里也是可以的。
完整代码:
# encoding: utf-8
import time
from selenium.webdriver.chrome.options import Options
from selenium import webdriver
from selenium.webdriver.support.select import Select
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from configparser import ConfigParser
from pyrsistent._transformations import inc
# guarantee our program can be in operation under command line
chrome_options = Options()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--disable-dev-shm-usage')
chrome_options.add_argument('--headless')
chrome_options.add_argument('blink-settings=imagesEnabled=false')
chrome_options.add_argument('--disable-gpu')
# 只需修改下面三项即可 学号 密码 收件箱
url = "打卡网站"
# 每次需要填写的位置的XPath:xpath的获取见上一篇博文 “windows下的脚本实现详细教程”
movement = "/html/body/div[1]/form/div[3]/div[2]/label[1]"#有无移动
touch = "/html/body/div[1]/form/div[4]/div[2]/label[1]"#有无接触史
condition = "/html/body/div[1]/form/div[5]/div[2]/label[1]"#健康状况
quarantine = "/html/body/div[1]/form/div[6]/div[2]/label[1]"#是否隔离
inCollege = "/html/body/div[1]/form/div[7]/div[2]/label[1]"#是否在校
submit = "/html/body/div[1]/form/div[8]/a"#提交
check = "/html/body/div[3]/div[2]/div[2]/a[2]"#最后的确定按钮
# 模拟登陆打卡
def do_login(driver,userName, password):
# driver.maximize_window() 将窗口最大化
# 找到登录框 输入账号密码
driver.find_element_by_name('userid').send_keys(userName)
driver.find_element_by_name('userpwd').send_keys(password)
driver.find_element_by_id('formSubmitBtn').click()#点击登录
driver.find_element_by_xpath(movement).click()
driver.find_element_by_xpath(touch).click()
driver.find_element_by_xpath(condition).click()
driver.find_element_by_xpath(quarantine).click()
driver.find_element_by_xpath(inCollege).click()
driver.find_element_by_xpath(submit).click()#点击提交
time.sleep(2)
driver.find_element_by_xpath(check).click()#点击确定
time.sleep(1)
if __name__ == '__main__':
# 模拟浏览器打开网站
cf = ConfigParser()
cf.read("config.ini")
userName = cf.get("config", "userName")
password = cf.get("config", "password")
driver = webdriver.Chrome(chrome_options=chrome_options)# Optional argument, if not specified will search path.
driver.get(url)
# 登录并打卡
do_login(driver,userName, password)
# sendMail(nowTime + "\n打卡成功!")
print("打卡结束")
time.sleep(1)
driver.quit()
不知道什么原因会报警告。但是python3命令测试可以正常运行了。
添加到定时启动
首先我们获取一下需要定时启动的脚本test.py的绝对路径:
find / -name test.py
得到绝对路径:/programs/test.py
打开定时启动配置文件,第一次使用可能会新建一个文件。
crontab -e
简单介绍一下配置定时启动的文法:
举个例子,我希望我的test.py脚本每天15:20用python3启动,那么我需要输入:
20 15 * * * python3 /programs/test.py
每周二晚上9点执行test脚本:
0 21 * * 2 python3 /programs/test.py
ESC退出插入模式-》输入:wq以后回车保存退出。完成!
自动打卡python脚本_Centos7从零开始配置py每日自动打卡脚本相关推荐
- android打开cad卡顿,两万高配置电脑使用CAD非常卡顿怎么办
本帖最后由 18332919183 于 2020-4-21 17:55 编辑 两万块钱买的笔记本,使用CAD任何版本都卡顿,百度方法调设置关闭动态输入关闭区域框选指示等等各种方法,都试了还是不行,任然 ...
- python闯关训练营怎么样3.0_【新升级】3周!0基础Python量化投资!闯关式学习打卡,解锁新技能!...
2020年热度最高的编程语言是谁?Python! Python应用方向很多,包括数据分析.爬虫.开发.运维.自动化测试,不过Python+金融还有一个有趣的应用方向:量化投资. 非金融背景的同学要理解 ...
- python量化0基础培训_【点宽学院】3周!0基础Python量化投资!闯关式学习打卡,解锁新技能!(第4期)...
为啥我敢说这门课程能帮你从 0 实现 量化投资入门? 01 规划学习路线 首先点宽学院,作为一个深耕金融科技的数字化实践平台,我想没有谁比点宽学院更了解初学者学习量化投资的各种难题了! 所以我们打造了 ...
- 企业微信自动打卡Python脚本
企业微信是一个办公软件,提供了打卡功能.如果你想用 Python 脚本自动完成打卡,那么你需要做的事情是: 首先,你需要在企业微信中开启 API 权限.这样你就可以使用企业微信提供的 API 来操作打 ...
- 【实战项目记录1】编写一个传奇3法师自动练级的python脚本
我基于pyautogui.tkinter以及几个标准库,结合面向对象的编程思路,从传奇3游戏的自动功能需求出发,研究了一个完整的法师练级打怪赚钱的小工具,给大家参考一下编程思路和一些实现想法. 闲来无 ...
- python测试开发教程 龙腾_龙腾源码网京东 有货自动下单,Python 脚本 你的口罩...
本帖最后由 小朋友 于 2020-2-7 13:24 编辑 这个 githubcom/tychxn/jd-assistant 我写了个 Windows下的一键安装Python运行环境和安装依赖库的脚本 ...
- python脚本开头怎么写_浅谈Python脚本开头及导包注释自动添加方法
浅谈Python脚本开头及导包注释自动添加方法 1.开头:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定 #!/usr/bin/python 是用来 ...
- 实现一个京东自动签到的python脚本
下面是一个示例的京东自动签到的 Python 脚本: import requests import json# 首先你需要有京东账号并且登录 # 然后在浏览器中打开京东签到页面, 复制一下请求地址 u ...
- linux自动配置bond0脚本、bond0和bond1双链路脚本、批量配置bond脚本步骤
文章目录 说明[必看] 双bond脚本 执行成功的界面如下 bond脚本内容 删除已配置的bond方法 遍历执行过程 说明 遍历脚本代码 执行查看效果 批量拷贝bond脚本代码 执行查看效果 批量执行 ...
- Python脚本实现云顶之弈自动挂机刷局数!这操作怎么说?
前言 1.不使用外部硬件模块,仅使用Python库实现. 2.有些代码可以再优化,处理一些异常的情况. 我会在文章最后附上在win10下使用pyinstaller打包好的可执行程序.如果和我的电脑屏幕 ...
最新文章
- 常见开源协议!【科普】
- android 文字路径,Android自定义控件:路径及文字
- linux之lsof和netstat判断端口(port)被哪些应用占用
- 基于JAVA+SpringMVC+Mybatis+MYSQL的网上医院预约挂号系统
- 用 JAVA 编写一个 M3U8 视频下载器
- iOS 开发技巧(一)
- android db 代码查看工具,Android 真机调试查看db数据库文件
- 联想服务器BLOS里面的具体信息,联想笔记本bios中英文对照表详细图文分析
- List1_Excise
- 【概率论】范畴分布 Categorical / Multinoulli Distribution
- ClickHouse表引擎到底怎么选
- 6.计算机系统能力创新实践,计算机考核要重实践能力、培养创新精神
- 网络视频血战:弱者渔利
- 【VS】InstallerProjects.vsix下载 Microsoft Visual Studio Installer Projects
- 天龙八部与珍珑(文/《北京青年报》记者 郭婷婷)
- iPhone 电池的正确激活与使用方式
- crypto-js 前端DES加密/解密、生成秘钥 详解
- 编程程题库之软件测试8大常见数据库面试题
- 【MATLAB】MATLAB实现 之 OFDM(正交频分复用技术)
- F. Function!
热门文章
- 会话语义角色标注:Conversational Semantic Role Labeling
- 虾米播播音乐墙html,虾米音乐外链,免费外链音乐,博客免费播放器
- 自己动手实现抖音高清无水印视频下载工具(1)
- ibm入职测试题太难了_IBM面试的IQ测试题
- ERROR: pip‘s dependency resolver does not currently take into account all the packages that are ....
- finecms aip.php漏洞,通杀FineCMS5.0.8及版本以下getshell的漏洞
- Win10好用吗?简单几步改造让Windows 10更好用
- 阶段性PJ某软件APK
- Crowd Counting P2PNet 复现
- 楚门的世界/The Truman Show (1998)