本帖最后由 Closers 于 2020-2-16 22:06 编辑
一: 前期准备
本教程只适用于没有图片登录验证码的网站。
1.1 基础环境
- python3 + selenium + chrome浏览器。
如果有不懂的可以查阅selenium-python中文文档
- chrome->设置->关于chrome->查看版本(我的版本是 80.0.3987.106(正式版本) (64 位))。
- 需要下载跟你的chrome版本一致的ChromeDriver可执行驱动
下载完解压放在python根目录(即跟python.exe放在一起)。
- 最好有一台云主机,没有的话需要自己的电脑设定定时开机,定时任务,定时关机。
1.2 安装环境
- 安装python3,不懂的请查阅https://www.runoob.com/python3/python3-install.html。
- 打开windows命令行,安装selenium
pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple
二: 代码
2.1 源码
#!/usr/bin/python
# -*- coding: utf-8 -*-
import time
from selenium import webdriver
from selenium.webdriver.common.alert import Alert
# 模拟浏览器打开到gitee登录界面
driver = webdriver.Chrome()
driver.get('https://gitee.com/login')
# 将窗口最大化
driver.maximize_window()
time.sleep(2)
# 输入账号--通过html的id属性定位输入位置--改为你的账号
user_login = driver.find_element_by_id('user_login')
user_login.send_keys("此处改为你的账号")
# 输入密码--通过html的id属性定位输入位置--改为你的密码
driver.find_element_by_id('user_password').send_keys("此处改为你的密码")
# 点击登录按钮--通过xpath确定点击位置
driver.find_element_by_xpath(
'/html/body/div[2]/div[2]/div[1]/div/div[2]/div/form[1]/div[2]/div/div/div[4]/input').click()
time.sleep(2)
# 切换到gitee pages界面--改为you_gitee_id
driver.get('https://gitee.com/此处改为you_gitee_id/此处改为you_gitee_id/pages')
# 点击更新按钮--通过xpath确定点击位置
driver.find_element_by_xpath('/html/body/div[3]/div[2]/div/div[2]/div[1]/form/div[7]').click()
# 确认更新提示框--这个函数的作用是确认提示框
Alert(driver).accept()
# 等待5秒更新
time.sleep(5)
# 这个print其实没事什么用,如果真的要测试脚本是否运行成功,可以用try来抛出异常
print("成功")
# 脚本运行成功,退出浏览器
driver.quit()
# 写上更新日志
# 我这里是写在D盘,可以改为自己喜欢的目录
fp = open("D:\log.txt", "a+")
now_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
fp.write("auto update time:{0}\n".format(now_time))
fp.close()
把源码黏贴到gitee.py 文件内,备用。
2.2 注意事项
三: 添加定时任务自动部署
@echo off
d:
python gitee.py
echo "等待更新完成再关闭窗口... ..."
timeout /t 300
rem 上面的代码是等待三分钟。
- 编写windows批处理脚本,代码如上。注意编码要是windows特有的GBK编码,否则会有乱码,保存为
gitee.bat 。
- 登录云主机,复制
gitee.py 、gitee.bat 到D盘根目录。
- 云主机内->右键我的电脑->管理->工具->任务计划程序->创建基本任务...添加任务每天执行一次,实在不会的请百度
- 在自己电脑上的话也可以把上述部署代码添加到hexo一键上传部署脚本的后面,每次git push后自动在gitee的pages界面部署。
四: 参考文献
enjoy.
|